From aeeff9a03297ceb1b037ed339769261bb22a4f03 Mon Sep 17 00:00:00 2001 From: DisposaBoy Date: Tue, 22 Oct 2019 09:04:22 +0000 Subject: [PATCH] Next (#948) * sync margo * sync margo * don't crash the ipc when decoding invalid utf-8 * update .travis.yml to list the versions that are actually supported * sync margo * tweak for better readability * recognise go.mod and go.sum files and increase MAX_VIEW_SIZE to 8MiB * use custom Mutex for locking to make it easier to debug * don't trigger an action while the view is loading * prep CHANGELOG for next release * sync margo * reduce the spacing between status items now that they have a prefix * set MARGO_AGENT_GOBIN when building margo.exe to avoid side-effects of a global GOBIN * update SUPPORT docs * update CHANGELOG for next realease * sync margo * update next CHANGELOG * sync margo * improve 9o filename regexp to reduce cases of highlighting things that we can't open --- .travis.yml | 4 +- Ariana.sublime-color-scheme | 6 +- CHANGELOG.md | 50 +- README.md | 2 +- SUPPORT.md | 11 +- gosubl/about.py | 2 +- gosubl/margo.py | 12 +- gosubl/margo_agent.py | 13 +- gosubl/margo_common.py | 19 +- gosubl/margo_render.py | 6 +- gosubl/margo_state.py | 12 +- src/margo.sh/.travis.yml | 2 +- src/margo.sh/Gopkg.lock | 73 +- src/margo.sh/Gopkg.toml | 18 +- src/margo.sh/cmdpkg/margo/main.go | 1 - src/margo.sh/golang/common.go | 7 +- src/margo.sh/golang/cursor/curctx.go | 28 +- src/margo.sh/golang/gocmd.go | 5 + src/margo.sh/golang/gocode.go | 4 +- src/margo.sh/golang/gocode_calltips.go | 7 +- src/margo.sh/golang/gocode_suggest.go | 32 +- src/margo.sh/golang/gopkg/import.go | 446 + src/margo.sh/golang/gopkg/pkg.go | 71 + src/margo.sh/golang/gotest.go | 8 +- .../golang/goutil/{common.go => goutil.go} | 51 +- .../goutil/{common_test.go => goutil_test.go} | 24 + src/margo.sh/golang/goutil/mod.go | 62 + src/margo.sh/golang/goutil/parse.go | 44 +- src/margo.sh/golang/goutil/version.go | 24 + src/margo.sh/golang/guru.go | 2 +- src/margo.sh/golang/imports.go | 114 + src/margo.sh/golang/internal/pkglst/mod.go | 1 + src/margo.sh/golang/internal/pkglst/pkglst.go | 141 +- .../internal/srcimporter/srcimporter.go | 19 +- src/margo.sh/golang/lint.go | 3 +- src/margo.sh/golang/margocode.go | 110 +- src/margo.sh/golang/parse.go | 8 +- src/margo.sh/golang/snippets/doc-snippet.go | 11 +- src/margo.sh/golang/syntaxcheck.go | 2 +- src/margo.sh/golang/typecheck.go | 169 + src/margo.sh/golang/version.go | 20 +- src/margo.sh/kimporter/kimporter.go | 394 + src/margo.sh/kimporter/kimporter_test.go | 34 + src/margo.sh/kimporter/parse.go | 89 + src/margo.sh/mg/agent.go | 6 + src/margo.sh/mg/ctx.go | 7 + src/margo.sh/mg/db.go | 46 +- src/margo.sh/mg/issue.go | 37 +- src/margo.sh/mg/langs.go | 2 + src/margo.sh/mg/restart.go | 8 + src/margo.sh/mg/state_test.go | 38 +- src/margo.sh/mg/tasks.go | 111 +- src/margo.sh/mg/testutil.go | 53 + src/margo.sh/mg/vfs.go | 66 + src/margo.sh/mg/view.go | 15 + src/margo.sh/mgutil/concurrency.go | 10 + src/margo.sh/mgutil/digits.go | 27 + src/margo.sh/mgutil/iowrapper.go | 20 + src/margo.sh/mgutil/memo.go | 107 + src/margo.sh/mgutil/mgutil.go | 20 + src/margo.sh/mgutil/path.go | 100 + src/margo.sh/mgutil/path_test.go | 47 + .../vendor/github.com/coreos/bbolt/.gitignore | 1 + .../github.com/coreos/bbolt/.travis.yml | 17 + .../vendor/github.com/coreos/bbolt/Makefile | 32 +- .../vendor/github.com/coreos/bbolt/README.md | 246 +- .../github.com/coreos/bbolt/appveyor.yml | 18 - .../github.com/coreos/bbolt/bolt_386.go | 5 +- .../github.com/coreos/bbolt/bolt_amd64.go | 5 +- .../github.com/coreos/bbolt/bolt_arm.go | 23 +- .../github.com/coreos/bbolt/bolt_arm64.go | 5 +- .../github.com/coreos/bbolt/bolt_linux.go | 2 +- .../github.com/coreos/bbolt/bolt_mips64x.go | 12 + .../github.com/coreos/bbolt/bolt_mipsx.go | 12 + .../github.com/coreos/bbolt/bolt_openbsd.go | 2 +- .../github.com/coreos/bbolt/bolt_ppc.go | 5 +- .../github.com/coreos/bbolt/bolt_ppc64.go | 5 +- .../github.com/coreos/bbolt/bolt_ppc64le.go | 5 +- .../github.com/coreos/bbolt/bolt_riscv64.go | 12 + .../github.com/coreos/bbolt/bolt_s390x.go | 5 +- .../github.com/coreos/bbolt/bolt_unix.go | 42 +- .../coreos/bbolt/bolt_unix_solaris.go | 44 +- .../github.com/coreos/bbolt/bolt_windows.go | 57 +- .../github.com/coreos/bbolt/boltsync_unix.go | 2 +- .../vendor/github.com/coreos/bbolt/bucket.go | 51 +- .../vendor/github.com/coreos/bbolt/cursor.go | 10 +- .../vendor/github.com/coreos/bbolt/db.go | 270 +- .../vendor/github.com/coreos/bbolt/doc.go | 4 +- .../vendor/github.com/coreos/bbolt/errors.go | 2 +- .../github.com/coreos/bbolt/freelist.go | 264 +- .../github.com/coreos/bbolt/freelist_hmap.go | 178 + .../vendor/github.com/coreos/bbolt/node.go | 4 +- .../vendor/github.com/coreos/bbolt/page.go | 33 +- .../vendor/github.com/coreos/bbolt/tx.go | 116 +- .../github.com/karrick/godirwalk/.gitignore | 19 + .../github.com/karrick/godirwalk/LICENSE | 25 + .../github.com/karrick/godirwalk/README.md | 207 + .../karrick/godirwalk/azure-pipelines.yml | 56 + .../github.com/karrick/godirwalk/dirent.go | 76 + .../github.com/karrick/godirwalk/doc.go | 37 + .../github.com/karrick/godirwalk/go.mod | 3 + .../github.com/karrick/godirwalk/go.sum | 0 .../karrick/godirwalk/inoWithFileno.go | 9 + .../karrick/godirwalk/inoWithIno.go | 10 + .../karrick/godirwalk/modeTypeWithType.go | 47 + .../karrick/godirwalk/modeTypeWithoutType.go | 28 + .../karrick/godirwalk/nameWithNamlen.go | 29 + .../karrick/godirwalk/nameWithoutNamlen.go | 42 + .../github.com/karrick/godirwalk/readdir.go | 49 + .../karrick/godirwalk/readdir_unix.go | 115 + .../karrick/godirwalk/readdir_windows.go | 51 + .../github.com/karrick/godirwalk/symdir.go | 22 + .../github.com/karrick/godirwalk/walk.go | 317 + .../rogpeppe/go-internal}/LICENSE | 4 +- .../rogpeppe/go-internal/modfile/gopkgin.go | 47 + .../rogpeppe/go-internal/modfile/print.go | 164 + .../rogpeppe/go-internal/modfile/read.go | 869 + .../rogpeppe/go-internal/modfile/rule.go | 724 + .../rogpeppe/go-internal/module/module.go | 540 + .../rogpeppe/go-internal/semver/semver.go | 388 + .../ugorji/go/codec/0_importpath.go | 7 + .../github.com/ugorji/go/codec/README.md | 207 - .../ugorji/go/codec/bench/values_test.go | 1 + .../vendor/github.com/ugorji/go/codec/binc.go | 539 +- .../github.com/ugorji/go/codec/build.sh | 126 +- .../vendor/github.com/ugorji/go/codec/cbor.go | 691 +- .../github.com/ugorji/go/codec/decode.go | 2983 +- .../ugorji/go/codec/{0doc.go => doc.go} | 59 +- .../github.com/ugorji/go/codec/encode.go | 1405 +- .../ugorji/go/codec/fast-path.generated.go | 38942 +++------------- .../ugorji/go/codec/fast-path.go.tmpl | 583 +- .../ugorji/go/codec/fast-path.not.go | 6 - .../github.com/ugorji/go/codec/float.go | 313 + .../ugorji/go/codec/gen-dec-array.go.tmpl | 46 +- .../ugorji/go/codec/gen-dec-map.go.tmpl | 47 +- .../ugorji/go/codec/gen-helper.generated.go | 200 +- .../ugorji/go/codec/gen-helper.go.tmpl | 180 +- .../ugorji/go/codec/gen.generated.go | 93 +- .../vendor/github.com/ugorji/go/codec/gen.go | 850 +- .../vendor/github.com/ugorji/go/codec/go.mod | 3 + .../go/codec/goversion_fmt_time_gte_go15.go | 12 + .../go/codec/goversion_fmt_time_lt_go15.go | 15 + .../go/codec/goversion_maprange_gte_go112.go | 44 + .../go/codec/goversion_maprange_lt_go112.go | 47 + .../github.com/ugorji/go/codec/helper.go | 2346 +- .../github.com/ugorji/go/codec/helper.s | 0 .../ugorji/go/codec/helper_internal.go | 3 + .../ugorji/go/codec/helper_not_unsafe.go | 352 +- .../ugorji/go/codec/helper_unsafe.go | 953 +- .../vendor/github.com/ugorji/go/codec/json.go | 1437 +- .../ugorji/go/codec/mammoth-test.go.tmpl | 50 +- .../github.com/ugorji/go/codec/msgpack.go | 566 +- .../github.com/ugorji/go/codec/prebuild.go | 136 + .../github.com/ugorji/go/codec/reader.go | 1017 + .../ugorji/go/codec/register_ext.go | 38 + .../vendor/github.com/ugorji/go/codec/rpc.go | 5 +- .../github.com/ugorji/go/codec/simple.go | 367 +- .../ugorji/go/codec/sort-slice.generated.go | 266 + .../ugorji/go/codec/sort-slice.go.tmpl | 64 + .../github.com/ugorji/go/codec/writer.go | 267 + .../vendor/github.com/ugorji/go/codec/xml.go | 8 +- .../vendor/github.com/urfave/cli/.travis.yml | 2 +- .../github.com/urfave/cli/CODE_OF_CONDUCT.md | 74 - .../github.com/urfave/cli/CONTRIBUTING.md | 19 - .../github.com/urfave/cli/MAINTAINERS.md | 1 - .../vendor/github.com/urfave/cli/README.md | 231 +- .../vendor/github.com/urfave/cli/app.go | 31 +- .../vendor/github.com/urfave/cli/category.go | 2 +- .../vendor/github.com/urfave/cli/command.go | 191 +- .../vendor/github.com/urfave/cli/context.go | 31 +- .../vendor/github.com/urfave/cli/flag.go | 335 +- .../github.com/urfave/cli/flag_generated.go | 53 +- .../vendor/github.com/urfave/cli/funcs.go | 16 - .../github.com/urfave/cli/generate-flag-types | 1 - .../vendor/github.com/urfave/cli/help.go | 11 +- .../vendor/github.com/urfave/cli/sort.go | 29 - .../golang.org/x/crypto/blake2b/blake2b.go | 8 +- .../x/crypto/blake2b/blake2b_generic.go | 69 +- src/margo.sh/vendor/golang.org/x/net/AUTHORS | 3 + .../vendor/golang.org/x/net/CONTRIBUTORS | 3 + src/margo.sh/vendor/golang.org/x/net/LICENSE | 27 + src/margo.sh/vendor/golang.org/x/net/PATENTS | 22 + .../golang.org/x/net/context/context.go | 56 + .../vendor/golang.org/x/net/context/go17.go | 72 + .../vendor/golang.org/x/net/context/go19.go | 20 + .../golang.org/x/net/context/pre_go17.go | 300 + .../golang.org/x/net/context/pre_go19.go | 109 + src/margo.sh/vendor/golang.org/x/sync/AUTHORS | 3 + .../vendor/golang.org/x/sync/CONTRIBUTORS | 3 + src/margo.sh/vendor/golang.org/x/sync/LICENSE | 27 + src/margo.sh/vendor/golang.org/x/sync/PATENTS | 22 + .../golang.org/x/sync/errgroup/errgroup.go | 66 + .../golang.org/x/sys/cpu/asm_aix_ppc64.s | 17 + .../vendor/golang.org/x/sys/cpu/byteorder.go | 30 + .../vendor/golang.org/x/sys/cpu/cpu.go | 88 + .../golang.org/x/sys/cpu/cpu_aix_ppc64.go | 34 + .../vendor/golang.org/x/sys/cpu/cpu_arm.go | 2 + .../golang.org/x/sys/cpu/cpu_gc_s390x.go | 21 + .../golang.org/x/sys/cpu/cpu_gccgo_s390x.go | 22 + .../vendor/golang.org/x/sys/cpu/cpu_linux.go | 59 + .../golang.org/x/sys/cpu/cpu_linux_arm64.go | 67 + .../golang.org/x/sys/cpu/cpu_linux_ppc64x.go | 33 + .../golang.org/x/sys/cpu/cpu_linux_s390x.go | 161 + .../golang.org/x/sys/cpu/cpu_mips64x.go | 2 + .../vendor/golang.org/x/sys/cpu/cpu_mipsx.go | 2 + .../cpu/{cpu_arm64.go => cpu_other_arm64.go} | 6 +- .../vendor/golang.org/x/sys/cpu/cpu_ppc64x.go | 9 - .../vendor/golang.org/x/sys/cpu/cpu_s390x.go | 7 - .../vendor/golang.org/x/sys/cpu/cpu_s390x.s | 57 + .../vendor/golang.org/x/sys/cpu/cpu_wasm.go | 15 + .../vendor/golang.org/x/sys/cpu/cpu_x86.go | 4 + .../x/sys/cpu/syscall_aix_ppc64_gc.go | 36 + .../vendor/golang.org/x/sys/unix/README.md | 20 +- .../golang.org/x/sys/unix/asm_freebsd_arm64.s | 29 + .../golang.org/x/sys/unix/asm_linux_riscv64.s | 54 + .../golang.org/x/sys/unix/asm_netbsd_arm64.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_arm64.s | 29 + .../vendor/golang.org/x/sys/unix/dirent.go | 89 +- .../vendor/golang.org/x/sys/unix/fcntl.go | 2 +- .../golang.org/x/sys/unix/fcntl_darwin.go | 18 + .../vendor/golang.org/x/sys/unix/mkall.sh | 103 +- .../golang.org/x/sys/unix/mkasm_darwin.go | 61 + .../vendor/golang.org/x/sys/unix/mkerrors.sh | 50 +- .../vendor/golang.org/x/sys/unix/mkpost.go | 26 +- .../vendor/golang.org/x/sys/unix/mksyscall.go | 407 + .../vendor/golang.org/x/sys/unix/mksyscall.pl | 341 - .../x/sys/unix/mksyscall_aix_ppc.go | 415 + .../x/sys/unix/mksyscall_aix_ppc.pl | 384 - .../x/sys/unix/mksyscall_aix_ppc64.go | 614 + .../x/sys/unix/mksyscall_aix_ppc64.pl | 579 - .../x/sys/unix/mksyscall_solaris.go | 335 + .../x/sys/unix/mksyscall_solaris.pl | 294 - .../golang.org/x/sys/unix/mksysctl_openbsd.go | 355 + .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 265 - .../vendor/golang.org/x/sys/unix/mksysnum.go | 190 + .../golang.org/x/sys/unix/mksysnum_darwin.pl | 39 - .../x/sys/unix/mksysnum_dragonfly.pl | 50 - .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 50 - .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 58 - .../golang.org/x/sys/unix/mksysnum_openbsd.pl | 50 - .../{openbsd_pledge.go => pledge_openbsd.go} | 3 - .../x/sys/unix/readdirent_getdents.go | 12 + .../x/sys/unix/readdirent_getdirentries.go | 19 + .../golang.org/x/sys/unix/sockcmsg_unix.go | 28 +- .../vendor/golang.org/x/sys/unix/syscall.go | 1 - .../golang.org/x/sys/unix/syscall_aix.go | 66 +- .../golang.org/x/sys/unix/syscall_aix_ppc.go | 16 + .../x/sys/unix/syscall_aix_ppc64.go | 47 + .../golang.org/x/sys/unix/syscall_bsd.go | 12 +- .../golang.org/x/sys/unix/syscall_darwin.go | 92 +- .../x/sys/unix/syscall_darwin_386.go | 23 +- .../x/sys/unix/syscall_darwin_amd64.go | 23 +- .../x/sys/unix/syscall_darwin_arm.go | 26 +- .../x/sys/unix/syscall_darwin_arm64.go | 26 +- .../x/sys/unix/syscall_darwin_libSystem.go | 31 + .../x/sys/unix/syscall_dragonfly.go | 25 + .../golang.org/x/sys/unix/syscall_freebsd.go | 133 +- .../x/sys/unix/syscall_freebsd_arm64.go | 52 + .../golang.org/x/sys/unix/syscall_linux.go | 213 +- .../x/sys/unix/syscall_linux_386.go | 1 + .../x/sys/unix/syscall_linux_amd64.go | 19 +- .../x/sys/unix/syscall_linux_arm.go | 28 + .../x/sys/unix/syscall_linux_arm64.go | 14 + .../x/sys/unix/syscall_linux_mips64x.go | 10 +- .../x/sys/unix/syscall_linux_mipsx.go | 1 + .../x/sys/unix/syscall_linux_ppc64x.go | 1 + .../x/sys/unix/syscall_linux_riscv64.go | 17 + .../x/sys/unix/syscall_linux_s390x.go | 1 + .../x/sys/unix/syscall_linux_sparc64.go | 1 + .../golang.org/x/sys/unix/syscall_netbsd.go | 44 +- .../x/sys/unix/syscall_netbsd_arm64.go | 33 + .../golang.org/x/sys/unix/syscall_openbsd.go | 61 +- .../x/sys/unix/syscall_openbsd_arm64.go | 37 + .../golang.org/x/sys/unix/syscall_solaris.go | 24 + .../golang.org/x/sys/unix/syscall_unix.go | 69 +- .../vendor/golang.org/x/sys/unix/types_aix.go | 27 +- .../golang.org/x/sys/unix/types_darwin.go | 6 + .../golang.org/x/sys/unix/types_freebsd.go | 50 +- .../golang.org/x/sys/unix/types_netbsd.go | 1 + .../golang.org/x/sys/unix/types_openbsd.go | 7 + .../{openbsd_unveil.go => unveil_openbsd.go} | 2 - .../golang.org/x/sys/unix/zerrors_aix_ppc.go | 2 + .../x/sys/unix/zerrors_aix_ppc64.go | 4 +- .../x/sys/unix/zerrors_freebsd_arm64.go | 1794 + .../x/sys/unix/zerrors_linux_386.go | 324 +- .../x/sys/unix/zerrors_linux_amd64.go | 324 +- .../x/sys/unix/zerrors_linux_arm.go | 324 +- .../x/sys/unix/zerrors_linux_arm64.go | 324 +- .../x/sys/unix/zerrors_linux_mips.go | 324 +- .../x/sys/unix/zerrors_linux_mips64.go | 324 +- .../x/sys/unix/zerrors_linux_mips64le.go | 324 +- .../x/sys/unix/zerrors_linux_mipsle.go | 324 +- .../x/sys/unix/zerrors_linux_ppc64.go | 326 +- .../x/sys/unix/zerrors_linux_ppc64le.go | 326 +- .../x/sys/unix/zerrors_linux_riscv64.go | 324 +- .../x/sys/unix/zerrors_linux_s390x.go | 324 +- .../x/sys/unix/zerrors_linux_sparc64.go | 4476 +- .../x/sys/unix/zerrors_netbsd_arm64.go | 1762 + .../x/sys/unix/zerrors_openbsd_arm64.go | 1789 + .../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 54 +- .../x/sys/unix/zsyscall_aix_ppc64.go | 50 +- .../x/sys/unix/zsyscall_aix_ppc64_gc.go | 56 +- .../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 46 +- .../x/sys/unix/zsyscall_darwin_386.1_11.go | 1810 + .../x/sys/unix/zsyscall_darwin_386.go | 1174 +- .../x/sys/unix/zsyscall_darwin_386.s | 284 + .../x/sys/unix/zsyscall_darwin_amd64.1_11.go | 1810 + .../x/sys/unix/zsyscall_darwin_amd64.go | 1189 +- .../x/sys/unix/zsyscall_darwin_amd64.s | 286 + .../x/sys/unix/zsyscall_darwin_arm.1_11.go | 1793 + .../x/sys/unix/zsyscall_darwin_arm.go | 1152 +- .../x/sys/unix/zsyscall_darwin_arm.s | 282 + .../x/sys/unix/zsyscall_darwin_arm64.1_11.go | 1793 + .../x/sys/unix/zsyscall_darwin_arm64.go | 1152 +- .../x/sys/unix/zsyscall_darwin_arm64.s | 282 + .../x/sys/unix/zsyscall_dragonfly_amd64.go | 39 +- .../x/sys/unix/zsyscall_freebsd_386.go | 14 +- .../x/sys/unix/zsyscall_freebsd_amd64.go | 14 +- .../x/sys/unix/zsyscall_freebsd_arm.go | 14 +- .../x/sys/unix/zsyscall_freebsd_arm64.go | 2025 + .../x/sys/unix/zsyscall_linux_386.go | 130 +- .../x/sys/unix/zsyscall_linux_amd64.go | 147 +- .../x/sys/unix/zsyscall_linux_arm.go | 165 +- .../x/sys/unix/zsyscall_linux_arm64.go | 145 +- .../x/sys/unix/zsyscall_linux_mips.go | 130 +- .../x/sys/unix/zsyscall_linux_mips64.go | 160 +- .../x/sys/unix/zsyscall_linux_mips64le.go | 160 +- .../x/sys/unix/zsyscall_linux_mipsle.go | 130 +- .../x/sys/unix/zsyscall_linux_ppc64.go | 130 +- .../x/sys/unix/zsyscall_linux_ppc64le.go | 130 +- .../x/sys/unix/zsyscall_linux_riscv64.go | 125 +- .../x/sys/unix/zsyscall_linux_s390x.go | 130 +- .../x/sys/unix/zsyscall_linux_sparc64.go | 296 +- .../x/sys/unix/zsyscall_netbsd_386.go | 4 +- .../x/sys/unix/zsyscall_netbsd_amd64.go | 4 +- .../x/sys/unix/zsyscall_netbsd_arm.go | 4 +- .../x/sys/unix/zsyscall_netbsd_arm64.go | 1826 + .../x/sys/unix/zsyscall_openbsd_386.go | 4 +- .../x/sys/unix/zsyscall_openbsd_amd64.go | 4 +- .../x/sys/unix/zsyscall_openbsd_arm.go | 4 +- .../x/sys/unix/zsyscall_openbsd_arm64.go | 1692 + .../x/sys/unix/zsyscall_solaris_amd64.go | 2 +- .../x/sys/unix/zsysctl_openbsd_386.go | 2 + .../x/sys/unix/zsysctl_openbsd_amd64.go | 2 +- .../x/sys/unix/zsysctl_openbsd_arm.go | 4 +- .../x/sys/unix/zsysctl_openbsd_arm64.go | 275 + .../x/sys/unix/zsysnum_darwin_386.go | 2 +- .../x/sys/unix/zsysnum_darwin_amd64.go | 6 +- .../x/sys/unix/zsysnum_darwin_arm.go | 2 +- .../x/sys/unix/zsysnum_darwin_arm64.go | 2 +- .../x/sys/unix/zsysnum_dragonfly_amd64.go | 176 +- .../x/sys/unix/zsysnum_freebsd_386.go | 455 +- .../x/sys/unix/zsysnum_freebsd_amd64.go | 455 +- .../x/sys/unix/zsysnum_freebsd_arm.go | 455 +- .../x/sys/unix/zsysnum_freebsd_arm64.go | 396 + .../x/sys/unix/zsysnum_linux_386.go | 808 +- .../x/sys/unix/zsysnum_linux_amd64.go | 12 +- .../x/sys/unix/zsysnum_linux_arm.go | 744 +- .../x/sys/unix/zsysnum_linux_arm64.go | 13 +- .../x/sys/unix/zsysnum_linux_mips.go | 778 +- .../x/sys/unix/zsysnum_linux_mips64.go | 12 +- .../x/sys/unix/zsysnum_linux_mips64le.go | 12 +- .../x/sys/unix/zsysnum_linux_mipsle.go | 778 +- .../x/sys/unix/zsysnum_linux_ppc64.go | 23 +- .../x/sys/unix/zsysnum_linux_ppc64le.go | 23 +- .../x/sys/unix/zsysnum_linux_riscv64.go | 13 +- .../x/sys/unix/zsysnum_linux_s390x.go | 26 +- .../x/sys/unix/zsysnum_linux_sparc64.go | 32 +- .../x/sys/unix/zsysnum_netbsd_386.go | 4 +- .../x/sys/unix/zsysnum_netbsd_amd64.go | 4 +- .../x/sys/unix/zsysnum_netbsd_arm.go | 4 +- .../x/sys/unix/zsysnum_netbsd_arm64.go | 274 + .../x/sys/unix/zsysnum_openbsd_386.go | 216 +- .../x/sys/unix/zsysnum_openbsd_amd64.go | 216 +- .../x/sys/unix/zsysnum_openbsd_arm.go | 216 +- .../x/sys/unix/zsysnum_openbsd_arm64.go | 217 + .../golang.org/x/sys/unix/ztypes_aix_ppc.go | 45 +- .../golang.org/x/sys/unix/ztypes_aix_ppc64.go | 50 +- .../x/sys/unix/ztypes_darwin_386.go | 46 +- .../x/sys/unix/ztypes_darwin_amd64.go | 48 +- .../x/sys/unix/ztypes_darwin_arm.go | 46 +- .../x/sys/unix/ztypes_darwin_arm64.go | 48 +- .../x/sys/unix/ztypes_dragonfly_amd64.go | 38 +- .../x/sys/unix/ztypes_freebsd_386.go | 185 +- .../x/sys/unix/ztypes_freebsd_amd64.go | 182 +- .../x/sys/unix/ztypes_freebsd_arm.go | 159 +- .../x/sys/unix/ztypes_freebsd_arm64.go | 684 + .../golang.org/x/sys/unix/ztypes_linux_386.go | 834 +- .../x/sys/unix/ztypes_linux_amd64.go | 842 +- .../golang.org/x/sys/unix/ztypes_linux_arm.go | 835 +- .../x/sys/unix/ztypes_linux_arm64.go | 842 +- .../x/sys/unix/ztypes_linux_mips.go | 832 +- .../x/sys/unix/ztypes_linux_mips64.go | 842 +- .../x/sys/unix/ztypes_linux_mips64le.go | 842 +- .../x/sys/unix/ztypes_linux_mipsle.go | 832 +- .../x/sys/unix/ztypes_linux_ppc64.go | 842 +- .../x/sys/unix/ztypes_linux_ppc64le.go | 842 +- .../x/sys/unix/ztypes_linux_riscv64.go | 844 +- .../x/sys/unix/ztypes_linux_s390x.go | 847 +- .../x/sys/unix/ztypes_linux_sparc64.go | 2259 +- .../x/sys/unix/ztypes_netbsd_386.go | 35 +- .../x/sys/unix/ztypes_netbsd_amd64.go | 41 +- .../x/sys/unix/ztypes_netbsd_arm.go | 41 +- .../x/sys/unix/ztypes_netbsd_arm64.go | 473 + .../x/sys/unix/ztypes_openbsd_386.go | 11 + .../x/sys/unix/ztypes_openbsd_amd64.go | 11 + .../x/sys/unix/ztypes_openbsd_arm.go | 113 +- .../x/sys/unix/ztypes_openbsd_arm64.go | 565 + .../golang.org/x/tools/cmd/guru/describe.go | 60 +- .../x/tools/cmd/guru/serial/serial.go | 7 +- .../golang.org/x/tools/cmd/guru/what.go | 3 +- .../x/tools/go/gcexportdata/gcexportdata.go | 2 +- .../x/tools/go/internal/gcimporter/bexport.go | 4 +- .../x/tools/go/internal/gcimporter/bimport.go | 98 +- .../x/tools/go/internal/gcimporter/iexport.go | 723 + .../x/tools/go/internal/gcimporter/iimport.go | 14 +- .../tools/go/internal/packagesdriver/sizes.go | 160 + .../golang.org/x/tools/go/loader/doc.go | 5 +- .../golang.org/x/tools/go/loader/loader.go | 12 +- .../golang.org/x/tools/go/packages/doc.go | 37 +- .../x/tools/go/packages/external.go | 54 +- .../golang.org/x/tools/go/packages/golist.go | 340 +- .../x/tools/go/packages/golist_fallback.go | 450 - .../go/packages/golist_fallback_testmain.go | 318 - .../x/tools/go/packages/golist_overlay.go | 300 + .../x/tools/go/packages/packages.go | 360 +- .../golang.org/x/tools/go/ssa/source.go | 2 +- .../golang.org/x/tools/go/ssa/ssautil/load.go | 2 +- .../golang.org/x/tools/go/ssa/testmain.go | 6 +- .../vendor/golang.org/x/tools/imports/fix.go | 934 - .../golang.org/x/tools/imports/forward.go | 62 + .../golang.org/x/tools/imports/zstdlib.go | 9970 ---- .../x/tools/internal/gopathwalk/walk.go | 9 +- .../x/tools/internal/imports/fix.go | 1342 + .../x/tools/{ => internal}/imports/imports.go | 29 +- .../x/tools/{ => internal}/imports/mkindex.go | 2 +- .../tools/{ => internal}/imports/mkstdlib.go | 74 +- .../x/tools/internal/imports/mod.go | 375 + .../{ => internal}/imports/sortimports.go | 33 +- .../x/tools/internal/imports/zstdlib.go | 10325 ++++ .../x/tools/internal/module/module.go | 540 + .../x/tools/third_party/moduleloader/LICENSE | 22 - .../x/tools/third_party/typescript/LICENSE | 55 - src/margo.sh/vfs/meta.go | 180 + src/margo.sh/vfs/nodelist.go | 106 + src/margo.sh/vfs/vfs.go | 534 + src/margo.sh/vfs/vfs_test.go | 73 + .../why_would_you_make_yotsuba_cry/cry.go | 1 + syntax/GoSublime-9o.sublime-syntax | 2 +- 449 files changed, 92167 insertions(+), 64100 deletions(-) create mode 100644 src/margo.sh/golang/gopkg/import.go create mode 100644 src/margo.sh/golang/gopkg/pkg.go rename src/margo.sh/golang/goutil/{common.go => goutil.go} (65%) rename src/margo.sh/golang/goutil/{common_test.go => goutil_test.go} (65%) create mode 100644 src/margo.sh/golang/goutil/mod.go create mode 100644 src/margo.sh/golang/goutil/version.go create mode 100644 src/margo.sh/golang/internal/pkglst/mod.go create mode 100644 src/margo.sh/golang/typecheck.go create mode 100644 src/margo.sh/kimporter/kimporter.go create mode 100644 src/margo.sh/kimporter/kimporter_test.go create mode 100644 src/margo.sh/kimporter/parse.go create mode 100644 src/margo.sh/mg/testutil.go create mode 100644 src/margo.sh/mg/vfs.go create mode 100644 src/margo.sh/mgutil/concurrency.go create mode 100644 src/margo.sh/mgutil/digits.go create mode 100644 src/margo.sh/mgutil/memo.go create mode 100644 src/margo.sh/mgutil/path.go create mode 100644 src/margo.sh/mgutil/path_test.go create mode 100644 src/margo.sh/vendor/github.com/coreos/bbolt/.travis.yml delete mode 100644 src/margo.sh/vendor/github.com/coreos/bbolt/appveyor.yml create mode 100644 src/margo.sh/vendor/github.com/coreos/bbolt/bolt_mips64x.go create mode 100644 src/margo.sh/vendor/github.com/coreos/bbolt/bolt_mipsx.go create mode 100644 src/margo.sh/vendor/github.com/coreos/bbolt/bolt_riscv64.go create mode 100644 src/margo.sh/vendor/github.com/coreos/bbolt/freelist_hmap.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/.gitignore create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/LICENSE create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/README.md create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/azure-pipelines.yml create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/dirent.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/doc.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/go.mod create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/go.sum create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/inoWithFileno.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/inoWithIno.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/modeTypeWithType.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/modeTypeWithoutType.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/nameWithNamlen.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/nameWithoutNamlen.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/readdir.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/readdir_unix.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/readdir_windows.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/symdir.go create mode 100644 src/margo.sh/vendor/github.com/karrick/godirwalk/walk.go rename src/margo.sh/vendor/{golang.org/x/tools/third_party/webcomponents => github.com/rogpeppe/go-internal}/LICENSE (95%) create mode 100644 src/margo.sh/vendor/github.com/rogpeppe/go-internal/modfile/gopkgin.go create mode 100644 src/margo.sh/vendor/github.com/rogpeppe/go-internal/modfile/print.go create mode 100644 src/margo.sh/vendor/github.com/rogpeppe/go-internal/modfile/read.go create mode 100644 src/margo.sh/vendor/github.com/rogpeppe/go-internal/modfile/rule.go create mode 100644 src/margo.sh/vendor/github.com/rogpeppe/go-internal/module/module.go create mode 100644 src/margo.sh/vendor/github.com/rogpeppe/go-internal/semver/semver.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/0_importpath.go delete mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/README.md create mode 120000 src/margo.sh/vendor/github.com/ugorji/go/codec/bench/values_test.go rename src/margo.sh/vendor/github.com/ugorji/go/codec/{0doc.go => doc.go} (77%) create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/float.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/goversion_fmt_time_gte_go15.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/goversion_fmt_time_lt_go15.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/goversion_maprange_gte_go112.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/goversion_maprange_lt_go112.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/helper.s create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/prebuild.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/reader.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/register_ext.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/sort-slice.generated.go create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/sort-slice.go.tmpl create mode 100644 src/margo.sh/vendor/github.com/ugorji/go/codec/writer.go delete mode 100644 src/margo.sh/vendor/github.com/urfave/cli/CODE_OF_CONDUCT.md delete mode 100644 src/margo.sh/vendor/github.com/urfave/cli/CONTRIBUTING.md delete mode 100644 src/margo.sh/vendor/github.com/urfave/cli/MAINTAINERS.md delete mode 100644 src/margo.sh/vendor/github.com/urfave/cli/sort.go create mode 100644 src/margo.sh/vendor/golang.org/x/net/AUTHORS create mode 100644 src/margo.sh/vendor/golang.org/x/net/CONTRIBUTORS create mode 100644 src/margo.sh/vendor/golang.org/x/net/LICENSE create mode 100644 src/margo.sh/vendor/golang.org/x/net/PATENTS create mode 100644 src/margo.sh/vendor/golang.org/x/net/context/context.go create mode 100644 src/margo.sh/vendor/golang.org/x/net/context/go17.go create mode 100644 src/margo.sh/vendor/golang.org/x/net/context/go19.go create mode 100644 src/margo.sh/vendor/golang.org/x/net/context/pre_go17.go create mode 100644 src/margo.sh/vendor/golang.org/x/net/context/pre_go19.go create mode 100644 src/margo.sh/vendor/golang.org/x/sync/AUTHORS create mode 100644 src/margo.sh/vendor/golang.org/x/sync/CONTRIBUTORS create mode 100644 src/margo.sh/vendor/golang.org/x/sync/LICENSE create mode 100644 src/margo.sh/vendor/golang.org/x/sync/PATENTS create mode 100644 src/margo.sh/vendor/golang.org/x/sync/errgroup/errgroup.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/byteorder.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_aix_ppc64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_linux.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go rename src/margo.sh/vendor/golang.org/x/sys/cpu/{cpu_arm64.go => cpu_other_arm64.go} (59%) delete mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go delete mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_s390x.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_s390x.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/cpu_wasm.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/asm_freebsd_arm64.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/asm_netbsd_arm64.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/asm_openbsd_arm64.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/fcntl_darwin.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/mkasm_darwin.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/mksyscall.go delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksyscall.pl create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.go delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc.pl create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.go delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksyscall_aix_ppc64.pl create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/mksyscall_solaris.go delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksyscall_solaris.pl create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/mksysctl_openbsd.go delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/mksysnum.go delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl delete mode 100755 src/margo.sh/vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl rename src/margo.sh/vendor/golang.org/x/sys/unix/{openbsd_pledge.go => pledge_openbsd.go} (98%) create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/readdirent_getdents.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go rename src/margo.sh/vendor/golang.org/x/sys/unix/{openbsd_unveil.go => unveil_openbsd.go} (98%) create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.1_11.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_11.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.1_11.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.1_11.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go create mode 100644 src/margo.sh/vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go create mode 100644 src/margo.sh/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go delete mode 100644 src/margo.sh/vendor/golang.org/x/tools/go/packages/golist_fallback.go delete mode 100644 src/margo.sh/vendor/golang.org/x/tools/go/packages/golist_fallback_testmain.go create mode 100644 src/margo.sh/vendor/golang.org/x/tools/go/packages/golist_overlay.go delete mode 100644 src/margo.sh/vendor/golang.org/x/tools/imports/fix.go create mode 100644 src/margo.sh/vendor/golang.org/x/tools/imports/forward.go delete mode 100644 src/margo.sh/vendor/golang.org/x/tools/imports/zstdlib.go create mode 100644 src/margo.sh/vendor/golang.org/x/tools/internal/imports/fix.go rename src/margo.sh/vendor/golang.org/x/tools/{ => internal}/imports/imports.go (92%) rename src/margo.sh/vendor/golang.org/x/tools/{ => internal}/imports/mkindex.go (99%) rename src/margo.sh/vendor/golang.org/x/tools/{ => internal}/imports/mkstdlib.go (55%) create mode 100644 src/margo.sh/vendor/golang.org/x/tools/internal/imports/mod.go rename src/margo.sh/vendor/golang.org/x/tools/{ => internal}/imports/sortimports.go (85%) create mode 100644 src/margo.sh/vendor/golang.org/x/tools/internal/imports/zstdlib.go create mode 100644 src/margo.sh/vendor/golang.org/x/tools/internal/module/module.go delete mode 100644 src/margo.sh/vendor/golang.org/x/tools/third_party/moduleloader/LICENSE delete mode 100644 src/margo.sh/vendor/golang.org/x/tools/third_party/typescript/LICENSE create mode 100644 src/margo.sh/vfs/meta.go create mode 100644 src/margo.sh/vfs/nodelist.go create mode 100644 src/margo.sh/vfs/vfs.go create mode 100644 src/margo.sh/vfs/vfs_test.go diff --git a/.travis.yml b/.travis.yml index 9d0e51f0..ad7e8686 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,10 +3,8 @@ sudo: false language: go go: - - 1.8.x - - 1.9.x - - 1.10.x - 1.11.x + - 1.12.x - tip matrix: diff --git a/Ariana.sublime-color-scheme b/Ariana.sublime-color-scheme index 198c2bcd..a8f707d2 100644 --- a/Ariana.sublime-color-scheme +++ b/Ariana.sublime-color-scheme @@ -5,8 +5,8 @@ { "black": "hsl(0, 0%, 0%)", "blue": "hsl(210, 50%, 60%)", - "blue2": "hsl(209, 13%, 35%)", - "blue3": "hsl(210, 36%, 21%)", + "blue2": "hsl(215, 33%, 29%)", + "blue3": "hsl(215, 40%, 21%)", "blue4": "hsl(210, 13%, 45%)", "blue5": "hsl(180, 36%, 54%)", "blue6": "hsl(221, 12%, 69%)", @@ -20,7 +20,7 @@ "red2": "hsl(13, 93%, 66%)", "white": "hsl(0, 0%, 100%)", "white2": "hsl(0, 0%, 97%)", - "white3": "hsl(219, 28%, 88%)" + "white3": "hsl(219, 28%, 93%)" }, "globals": { diff --git a/CHANGELOG.md b/CHANGELOG.md index 64e4b56f..23bd89ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,49 @@ https://margo.sh/b/motd - Get notified when GoSublime has a new release. ## Changes +## 19.10.22 + +- API BREAKAGE: + ParseWithMode and ParseWithMode now takes a `*mg.Ctx` instead of a `mg.KVStore`. + +- Add experimental support for auto-completion and type-checking in go modules. + +- Add experimental reducer `&golang.TypeCheck{}`. + It's a linter that does a full type-check as you type (even in unsaved files). + It can be thought of as a replacement for the `gotype` binary of old. + + NOTE: This is purely an experiment used primarily for testing the package importer + and type-checking and will probably break randomly, if it works at all. + + With that said, the plan is to clean it up and develop it further in the future. + +- The Ariana color scheme has been tweaked to improve readability. + +- Add a `‣` prefix to status items and reduce the space between them. + +- Add langs `mg.GoMod` and `mg.GoSum` for `go.mod` and `go.sum` files, respectively. + For convenience, `goutil.Langs` now holds the list of all Go-related langs + and Go linters are now available in `go.mod` and `go.sum`. + +- The tasks count styled has been changed to `Tasks ➊➋➌`. + The status animates between `Tasks ➊➋➌` and `Tasks ➀➁➂` while there are tasks less than 16s old. + +- The issue count styled has been changed to `Error ➊ꞏ🄋`. + + NOTE: The meanings of the numbers have been reverted. + + Previously, given `1/2 Errors`, there was 1 issue with tag `Error` in this view, and there was a total 2 errors in all views. + The new meanings `Error ➊ꞏ🄋` is: ➊ is the number issues in the current view and 🄋 is the number issues in other views. + + Only first number is highlighted if there are issues in the current view. + Likewise, when there are issues, but none in the current view, only the second number is highlighted. + +- Don't show the `func` prefix in the calltip status. The parens already make it obviously a function. + ## 19.06.16 - * Fix a deadlock/freeze (seen on Mac OS) when starting up with multiple windows open. - * Fix an issue where the active window loses focus when starting up. + +- Fix a deadlock/freeze (seen on Mac OS) when starting up with multiple windows open. +- Fix an issue where the active window loses focus when starting up. ## 18.11.28 @@ -29,6 +69,7 @@ This release introduces the HUD and comes with many improvements to snippets and It's bound to the keys `ctrl+.`,`ctrl+0`. You can manually bind it to another key. e.g. via `Preferences > Key Bindings`: + ```json { "keys": ["ctrl+0"], @@ -39,21 +80,26 @@ This release introduces the HUD and comes with many improvements to snippets and - Several new snippets have been added and old ones improved. - AppendSnippet: `name = |` suggests: + - `name = append(name, ...)` - `slice = append(slice[:len(slice):len(slice)], ...)` - DeferSnippet: + - `defer func() {}()` - `defer f()` - ReturnSnippet: + - `return` - MutexSnippet: `mu.|` suggests: + - `mu.Lock(); defer mu.Unlock(); |` - `mu.Lock(); |; mu.Unlock()` - PackageNameSnippet: + - `package main; func main() { | }` - DocSnippet: suggest function names, field names, etc. inside the corresponding _documentation_ comment diff --git a/README.md b/README.md index 5c85d458..d80431ab 100644 --- a/README.md +++ b/README.md @@ -74,4 +74,4 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
- + diff --git a/SUPPORT.md b/SUPPORT.md index 106f76f2..1173111f 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -27,16 +27,23 @@ GoSublime is backed by https://margo.sh/ to which the following points apply: - Only the main `gc` tool-chain distributed by https://golang.org/ is supported. - margo should not require a cgo-enabled Go installation, but non-cgo builds i.e. `CGO_ENABLED=0` are not tested. +## Go Modules + +At this time, Go modules are only partially supported. +Auto-completion and other features built directly into margo should work in most cases, +but features backed by external tools e.g. `goto definition` might work. + +We plan to implement most of these features internally as our (type-check) importer matures. + ## Operating Systems -- Testing is only done on Linux. +- Testing is only done on Arch Linux. - Windows and macOS should work without issue, but no testing is done on them. ## Tools Please note: -- GoSublime uses its own fork of `gocode` so any installation on your system is ignored. - By default `fmt` is achieved through direct use of the packages in the stdlib and not the binaries on your system. ## Sponsors & Backers diff --git a/gosubl/about.py b/gosubl/about.py index eea0e036..3398cd53 100644 --- a/gosubl/about.py +++ b/gosubl/about.py @@ -1,7 +1,7 @@ import re import sublime -TAG = '19.06.16-1' +TAG = '19.10.22-1' ANN = 'a'+TAG VERSION = 'r'+TAG VERSION_PAT = re.compile(r'\d{2}[.]\d{2}[.]\d{2}-\d+', re.IGNORECASE) diff --git a/gosubl/margo.py b/gosubl/margo.py index add3e611..4ea27b9c 100644 --- a/gosubl/margo.py +++ b/gosubl/margo.py @@ -1,7 +1,7 @@ from . import _dbg from . import gs, gsq, sh from .margo_agent import MargoAgent -from .margo_common import OutputLogger, TokenCounter +from .margo_common import OutputLogger, TokenCounter, Mutex from .margo_render import render from .margo_state import State, actions, client_actions, Config, _view_scope_lang, view_is_9o, MgView from base64 import b64decode @@ -10,7 +10,6 @@ import os import shlex import sublime -import threading import time import webbrowser @@ -34,11 +33,11 @@ def __init__(self): } self.file_ids = [] self._hud_state = {} - self._hud_state_lock = threading.Lock() + self._hud_state_lock = Mutex(name='margo.MargoSingleton._hud_state_lock') self.hud_name = 'GoSublime/HUD' self.hud_id = self.hud_name.replace('/','-').lower() self._views = {} - self._view_lock = threading.Lock() + self._view_lock = Mutex(name='margo.MargoSingleton._view_lock') self._gopath = '' def _sync_settings(self): @@ -155,6 +154,9 @@ def can_trigger_event(self, view, allow_9o=False): if view is None: return False + if view.is_loading(): + return False + if not self.enabled(view): return False @@ -512,7 +514,7 @@ def on_post_save(self, view): self.queue(view=view, actions=[actions.ViewSaved]) def on_load(self, view): - self.queue(view=view, actions=[actions.ViewLoaded]) + self.on_activated(view) def example_extension_file(self): return gs.dist_path('src/margo.sh/extension-example/extension-example.go') diff --git a/gosubl/margo_agent.py b/gosubl/margo_agent.py index 7f3361f9..b4e01fb7 100644 --- a/gosubl/margo_agent.py +++ b/gosubl/margo_agent.py @@ -1,6 +1,6 @@ from . import _dbg from . import sh, gs, gsq -from .margo_common import TokenCounter, OutputLogger, Chan +from .margo_common import TokenCounter, OutputLogger, Chan, Mutex from .margo_state import State, make_props, actions from datetime import datetime import os @@ -18,7 +18,7 @@ if ipc_codec == 'msgpack': from .vendor import umsgpack ipc_loads = umsgpack.loads - ipc_dec = umsgpack.load + ipc_dec = lambda fp: umsgpack.load(fp, allow_invalid_utf8=True) ipc_enc = umsgpack.dump ipc_silent_exceptions += ( umsgpack.InsufficientDataException, @@ -40,7 +40,7 @@ def __init__(self, mg): _, self.domain = mg.agent_tokens.next() self.cookies = TokenCounter('%s,request' % self.domain) self.proc = None - self.lock = threading.Lock() + self.lock = Mutex(name='margo.MargoAgent.lock') self.out = OutputLogger(self.domain, parent=mg.out) self.global_handlers = {} self.req_handlers = {} @@ -64,7 +64,7 @@ def __init__(self, mg): } gs.mkdirp(self.data_dir) - self._acts_lock = threading.Lock() + self._acts_lock = Mutex(name='margo.MargoAgent._acts_lock') self._acts = [] def __del__(self): @@ -109,12 +109,13 @@ def _start_proc(self): gs_gobin = gs.dist_path('bin') mg_exe = 'margo.sh' - install_cmd = ['go', 'install', '-v', mg_exe] + install_cmd = ['go', 'install', '-v','-x', mg_exe] cmd = sh.Command(install_cmd) cmd.env = self._env({ 'GOPATH': self._default_env['MARGO_AGENT_GOPATH'], 'GO111MODULE': self._default_env['MARGO_AGENT_GO111MODULE'], 'GOBIN': gs_gobin, + 'MARGO_AGENT_GOBIN': gs_gobin, }) cr = cmd.run() for v in (cr.out, cr.err, cr.exc): @@ -341,7 +342,7 @@ def __init__(self, agent, actions, cb=None, view=None): self.cb = cb self.props = make_props(view=view) self.rs = DEFAULT_RESPONSE - self.lock = threading.Lock() + self.lock = Mutex(name='margo.AgentReq.lock') self.ev = threading.Event() self.view = view diff --git a/gosubl/margo_common.py b/gosubl/margo_common.py index f4e663bd..92dd5891 100644 --- a/gosubl/margo_common.py +++ b/gosubl/margo_common.py @@ -5,6 +5,23 @@ import sublime import time +class Mutex(object): + def __init__(self, *, name=''): + self.name = name + self.lck = threading.Lock() + + def __enter__(self): + self.lock() + + def __exit__(self, type, value, traceback): + self.unlock() + + def lock(self): + self.lck.acquire(True) + + def unlock(self): + self.lck.release() + class OutputLogger(object): def __init__(self, domain, parent=None): self.domain = domain @@ -39,7 +56,7 @@ def next(self): class Chan(object): def __init__(self, *, zero=None, discard=None): - self.lock = threading.Lock() + self.lock = Mutex(name='margo.Chan') self.ev = threading.Event() self.dq = deque([], maxlen=discard) self.closed = False diff --git a/gosubl/margo_render.py b/gosubl/margo_render.py index c0476ade..09362e5e 100644 --- a/gosubl/margo_render.py +++ b/gosubl/margo_render.py @@ -7,9 +7,9 @@ STATUS_KEY = '#mg.Status' -STATUS_PFX = ' ' -STATUS_SFX = ' ' -STATUS_SEP = ' ' +STATUS_PFX = ' ' +STATUS_SFX = ' ' +STATUS_SEP = ' ' def render(*, mg, view, state, status): def cb(): diff --git a/gosubl/margo_state.py b/gosubl/margo_state.py index c72aa3bd..3bb1ee83 100644 --- a/gosubl/margo_state.py +++ b/gosubl/margo_state.py @@ -240,7 +240,7 @@ def __init__(self, v={}): # in testing, we should be able to push 50MiB+ files constantly without noticing a performance problem # but keep this number low (realistic source files sizes) at least until we optimize things -MAX_VIEW_SIZE = 512 << 10 +MAX_VIEW_SIZE = 8 << 20 # TODO: only send the content when it actually changes # TODO: do chunked copying i.e. copy e.g. 1MiB at a time @@ -352,6 +352,11 @@ def _view_hash(view): return 'id=%s,change=%d' % (_view_id(view), view.change_count()) + +_lang_by_basename = { + 'go.mod': 'go.mod', + 'go.sum': 'go.sum', +} _scope_lang_pat = re.compile(r'(?:source\.\w+|source|text)[.]([^\s.]+)') def _view_scope_lang(view, pos): if view is None: @@ -363,6 +368,11 @@ def _view_scope_lang(view, pos): if view_is_9o(view): return (scope, 'cmd-prompt') + nm = basename(view_path(view)) + lb = _lang_by_basename.get(nm) + if lb: + return (scope, lb) + l = _scope_lang_pat.findall(scope) if not l: return (scope, '') diff --git a/src/margo.sh/.travis.yml b/src/margo.sh/.travis.yml index 35279633..ea42ff23 100644 --- a/src/margo.sh/.travis.yml +++ b/src/margo.sh/.travis.yml @@ -3,8 +3,8 @@ sudo: false language: go go: - - 1.10.x - 1.11.x + - 1.12.x - tip matrix: diff --git a/src/margo.sh/Gopkg.lock b/src/margo.sh/Gopkg.lock index 704a50b9..29cabfde 100644 --- a/src/margo.sh/Gopkg.lock +++ b/src/margo.sh/Gopkg.lock @@ -2,51 +2,87 @@ [[projects]] - digest = "1:c28625428387b63dd7154eb857f51e700465cfbf7c06f619e71f2da33cefe47e" + digest = "1:f2ac2c724fc8214bb7b9dd6d4f5b7a983152051f5133320f228557182263cb94" name = "github.com/coreos/bbolt" packages = ["."] pruneopts = "UT" - revision = "583e8937c61f1af6513608ccc75c97b6abdf4ff9" + revision = "a0458a2b35708eef59eb5f620ceb3cd1c01a824d" + version = "v1.3.3" + +[[projects]] + digest = "1:77857b3205f936bdc6928ef347b682ab549cf99454d6c0ca04a49f8df9e418f3" + name = "github.com/karrick/godirwalk" + packages = ["."] + pruneopts = "UT" + revision = "73c17a9b9528eb3ce857b782a2816c0cda581e62" + version = "v1.10.12" + +[[projects]] + digest = "1:e09ada96a5a41deda4748b1659cc8953961799e798aea557257b56baee4ecaf3" + name = "github.com/rogpeppe/go-internal" + packages = [ + "modfile", + "module", + "semver", + ] + pruneopts = "UT" + revision = "438578804ca6f31be148c27683afc419ce47c06e" version = "v1.3.0" [[projects]] - branch = "master" - digest = "1:0a1d820f01897ed80b3d9e5edbd0c55a437cd09955e3b0f08820765b4accb808" + digest = "1:5a1cf4e370bc86137b58da2ae065e76526d32b11f62a7665f36dbd5f41fa95ff" name = "github.com/ugorji/go" packages = ["codec"] pruneopts = "UT" - revision = "e105254e6a511a48fa0bd9f2811fb0a4e3c6078d" + revision = "23ab95ef5dc3b70286760af84ce2327a2b64ed62" + version = "v1.1.7" [[projects]] - branch = "master" - digest = "1:6743b69de0d73e91004e4e201cf4965b59a0fa5caf6f0ffbe0cb9ee8807738a7" + digest = "1:b24d38b282bacf9791408a080f606370efa3d364e4b5fd9ba0f7b87786d3b679" name = "github.com/urfave/cli" packages = ["."] pruneopts = "UT" - revision = "b67dcf995b6a7b7f14fad5fcb7cc5441b05e814b" + revision = "cfb38830724cc34fedffe9a2a29fb54fa9169cd1" + version = "v1.20.0" [[projects]] branch = "master" - digest = "1:8db39ece54390c0808fc3822518339fd8dfdceb27e088485998fe5cd0ba0acd7" + digest = "1:73f9bd0a36bd49a7a46061dd5d6370fbf7c7afcd92a31dcb18661497610672aa" name = "golang.org/x/crypto" packages = ["blake2b"] pruneopts = "UT" - revision = "3d3f9f413869b949e48070b5bc593aa22cc2b8f2" + revision = "4def268fd1a49955bfb3dda92fe3db4f924f2285" + +[[projects]] + branch = "master" + digest = "1:76ee51c3f468493aff39dbacc401e8831fbb765104cbf613b89bef01cf4bad70" + name = "golang.org/x/net" + packages = ["context"] + pruneopts = "UT" + revision = "da137c7871d730100384dbcf36e6f8fa493aef5b" + +[[projects]] + branch = "master" + digest = "1:b521f10a2d8fa85c04a8ef4e62f2d1e14d303599a55d64dabf9f5a02f84d35eb" + name = "golang.org/x/sync" + packages = ["errgroup"] + pruneopts = "UT" + revision = "112230192c580c3556b8cee6403af37a4fc5f28c" [[projects]] branch = "master" - digest = "1:48e1b07b9dceeaf83f2ef76da14e563ee7aac89ae2364fc4b97a85092f591d0a" + digest = "1:a0e4b2275e7939970d395eb6d03f409378eb586aab72e0a461d95e3435c6c5c4" name = "golang.org/x/sys" packages = [ "cpu", "unix", ] pruneopts = "UT" - revision = "93218def8b18e66adbdab3eca8ec334700329f1f" + revision = "fae7ac547cb717d141c433a2a173315e216b64c4" [[projects]] branch = "master" - digest = "1:b981bb5ad263ab0a3858519fdb7716874eb55cac7a9ea34f52ae75817cf4051b" + digest = "1:bced9cb3cc232146d31c9c0cc4595acfbd892c99c35b1371544fe35f4abaeca5" name = "golang.org/x/tools" packages = [ "cmd/guru", @@ -59,6 +95,7 @@ "go/gcexportdata", "go/internal/cgo", "go/internal/gcimporter", + "go/internal/packagesdriver", "go/loader", "go/packages", "go/pointer", @@ -68,11 +105,13 @@ "imports", "internal/fastwalk", "internal/gopathwalk", + "internal/imports", + "internal/module", "internal/semver", "refactor/importgraph", ] pruneopts = "UT" - revision = "2ddaf7f79a0937ffa9072ede7b696fd084abfe86" + revision = "e377ae9d63860e3b8f606b92a1a7c7df5b14ca67" [[projects]] branch = "master" @@ -90,9 +129,15 @@ analyzer-version = 1 input-imports = [ "github.com/coreos/bbolt", + "github.com/karrick/godirwalk", + "github.com/rogpeppe/go-internal/modfile", + "github.com/rogpeppe/go-internal/module", + "github.com/rogpeppe/go-internal/semver", "github.com/ugorji/go/codec", "github.com/urfave/cli", "golang.org/x/crypto/blake2b", + "golang.org/x/net/context", + "golang.org/x/sync/errgroup", "golang.org/x/tools/cmd/guru", "golang.org/x/tools/go/gcexportdata", "kuroku.io/margocode/suggest", diff --git a/src/margo.sh/Gopkg.toml b/src/margo.sh/Gopkg.toml index a155732c..b476c073 100644 --- a/src/margo.sh/Gopkg.toml +++ b/src/margo.sh/Gopkg.toml @@ -7,21 +7,9 @@ required = [ unused-packages = true [[constraint]] - name = "github.com/ugorji/go" branch = "master" + name = "kuroku.io/margocode" [[constraint]] - name = "github.com/urfave/cli" - branch = "master" - -[[constraint]] - branch = "master" - name = "golang.org/x/crypto" - -[[constraint]] - branch = "master" - name = "golang.org/x/tools" - -[[constraint]] - branch = "master" - name = "kuroku.io/margocode" + name = "github.com/rogpeppe/go-internal" + version = "1.3.0" diff --git a/src/margo.sh/cmdpkg/margo/main.go b/src/margo.sh/cmdpkg/margo/main.go index 60a01e38..6160024a 100644 --- a/src/margo.sh/cmdpkg/margo/main.go +++ b/src/margo.sh/cmdpkg/margo/main.go @@ -80,7 +80,6 @@ func startAction(cx *cli.Context) error { mc := cmdMap[cx.Command.Name] app := &mgcli.NewApp().App app.Name = mc.Name - app.ExitErrHandler = func(_ *cli.Context, _ error) {} newCtx := func(args []string) *cli.Context { flags := flag.NewFlagSet(mc.Name, 0) flags.Usage = func() {} diff --git a/src/margo.sh/golang/common.go b/src/margo.sh/golang/common.go index 3e94ba93..24fcb513 100644 --- a/src/margo.sh/golang/common.go +++ b/src/margo.sh/golang/common.go @@ -10,10 +10,13 @@ import ( ) func init() { - mg.AddCommonPatterns(mg.Go, + pats := []*regexp.Regexp{ regexp.MustCompile(`^\s*(?P.+?\.\w+):(?P\d+:)(?P\d+:?)?(?:(?Pwarning|error)[:])?(?P.+?)(?: [(](?P