The real fix was not using absolute paths anymore (so not expanding with the `:p` option). The regex was correct and should at least include the `^` character to make sure the string starts with the given path/filename and not references the path/filename in some error description.
* Improve performance when using gometalinter
Before this change when I opened a big project that had 6000+ warnings/errors it took ages to get the actual warnings/errors and it caused my CPU to be busy for quite some time. The call to gometalinter alone took about 24 seconds, but after that vim was struggling as well.
After this change the gometalinter call just takes 2 seconds and nothing noticable happens with the CPU and/or vim.
* Removed obsolete test
This logic is no longer done by the `ale` plugin, but by `gometalinter` itself.
Linter is disabled by default (see g:ale_go_gometalinter_enabled) as it
conflicts with a number of established ALE linters (golint, govet,
gosimple, staticcheck, etc).
* try fixing go build
* cache some system calls
* fix /dev/null
* use chained commands, use `go test -c` instead of `go tool compile`
* fix some unescaped shell commands
* fix a bug with explicitly setting GOPATH
* implement changes requested in code review. handle errors from multiple files. fix issue when starting a new package
* run `go env` as a job
* ensure all functions return the proper type
* fix loclist line numbers in some cases
* remove multibuffer support for now
* add go build for build errors
* Add go build to doc and README
* Improvement for Go build
Go build works on package level, so copy over the other files
that belong to the same package to the temp folder as well.
* revert back to simple go build
* change gobuild script var name
This PR first and formost implements support for dot-seperate filetypes,
a very trivial change.
This closes#132
But more importantly, this PR vastly improves the test quality for
`ale#linter#Get`. It enables us to reset the state of ale's internal
linter cache, to facilitate better testing, as well as making use of
mocked linters instead of depending on linters on disk (which may
change). In addition, a dummy linter is defined to test the autoloading
behavior.
Header guards were removed from all linters as:
* A: ale won't try and load linters if they already exist in memory
* B: we can't reset state for testing if they can't be loaded again