See #10825.
Try to match more closely the build process followed upstream:
- Force module build mode, which builds the latest stable release (not master),
and takes care of module replacements.
- Disable cgo.
- The -trimpath argument to go get requires go >= 1.13, which is also needed
because go <= 1.12 has a bug that causes problems with golangci-lint², as
explained in the golangci-lint installation instructions².
Note that the only thing that is missing to exactly match the upstream build
process is the addition of some -X variables, which only affect the data
reported by golangci-lint version.
¹: https://github.com/golang/go/issues/29612
²: https://github.com/golangci/golangci-lint#install
Thanks to @dbriemann and @seriousben for reporting and clarifying this issue!
removing the `lexical-let` caused the intended closure to be invalid. the
filename being compiled was nil when the compilation-finish-function was
run.
this adds a special var to hold the temp file being compiled instead, and
tries to narrow down the compilation-finish-function to only run when the
compilation buffer includes the "rustc -o /tmp" regexp
Before the ruby layer was only requiring standalone lsp layer,
however with the latest changes dap support has been added
therefore I have updated the layer file to require the full
dap layer instead which in turn requires the lsp layer.
I have:
- Revised the documentation to be more clear about the possible backends
- Simplified the lsp setup code
- Removed redundant loading of company-lsp (is done by lsp-mode already)
- Made lsp the default backend for dart and mentioned that the analyser is
deprecated
An older PR reintroduced a dependency on lexical let.
There is no proper replacement for this in cl-lib therefore
I have changed it to a normal let which works the same
way.
In future we should think of making the entire file lexically bound
and only mark the exceptions to be dynamically bound.
I have tried to integrate flow-js2-mode into flow-type in addition
I have fixed a couple of issues in the layer and replaced obsolete
react-mode bindings with rjsx-mode bindings.
This allows to use quick run when the default shell is not bash-compatible.
I also fixed the output name by using a digest of the filename rather
than always a new file as I noted that my /tmp got cluttered with 4MiB
files pretty quickly, and I was just using a hello-world like file.
Make LSP be used as default backend
Request DAP layer when LSP is used as backend
Update README.org with latest pyls package dependencies
Remove obsolete getter functions
Update the version of metals referenced in the metals installation
instructions, so that an old version of the metals binary doesn't get installed
by accident.
- lsp-mode supports defining remote versions of each clients(e. g. clangd which
works over tramp). Before this change the language server will be disabled
because it has different server-id.
Add a full/minified transient state toggle.
Grouped backend transient state key bindings by column.
Moved the html/init-web-mode :init section before the :config section.
The helpful layer delivers more sophisticated help buffers,
at least for elisp and emacs specific objects. Therefore
it makes sense to replace the existing help functions for
these bindings silently if this layer is loaded.
Make doc more clearly describe which tools belong to which backend.
Change keybindings to be consistent with spacemacs conventions.
Simplify LSP layer code.
This environment variable is used by python LSP to determine
the pyenv virtual environment to use. When switching to a different
project using projectile 'switch-to-project', it should only be
necessary to restart the LSP server but a restart will only
work if this VIRTUAL_ENV changes value too.
Improve documentation to be clear about the choices of backends.
Remove obsolete functions.
Make sure that company-lua is only loaded when the right backend is used.
Make keybindings conform to conventions.