| Commit message (Collapse) | Author | Files | Lines |
|
Use rustic and configure it to use eglot as the backend for LSP.
Change-Id: I71bd51a863f1a03b0b3f2d218d970d5ea0867e9e
|
|
Change-Id: Ic3ec94047e39618d9d1bbc5aa9afce8565b87208
Reviewed-on: https://cl.fcuny.net/c/emacs.d/+/583
Tested-by: CI
Reviewed-by: Franck Cuny <franck@fcuny.net>
|
|
Load eglot when Emacs starts, and delegate buffer formatting for
supported language to LSP.
The LSP for nix is using `nixpkgs-fmt' already, so there's no need to
configure this ourselves.
Change-Id: I6ee4adcc34b30c75031974c10a47fd3f7d240bed
|
|
Change-Id: I2b008d6039714475d7bbf487ac7674dd80b1bac4
|
|
tree-sitter is an incremental parsing system, and this change installs
the binding for Emacs. It improves significantly the code highlighting
system (as it does not rely on regex when the language is supported by
tree-sitter) and improves performance in general.
Change-Id: Ibc3d6c7133b323d6cc63ffb248cd83f71ac5c94a
|
|
I've been running into issues between flymake and eglot for a while now.
After modifying the file, flymake would report errors on possible typo I
made while editing, but once I've fixed them, the diagnostic would not
be updated until I either restart eglot or kick another flymake run.
After some debugging I'm pretty convinced this is due to the variable
`flymake-no-changes-timeout`. I've been running for a few hours without
it being set and I've not been able to reproduce the problem.
The other variables are set to their default value, this is not needed.
Change-Id: I770857a93b6d90193f39ee0dceaa19b0b928a3d8
|
|
When using LSP to format the code, I keep running into weird behavior
with eglot. I think it's because the code is being formatted while
flymake is running but I need more evidence.
|
|
This is the tool recommend by the nix community to format nix code (see
[1]).
[1] https://github.com/nix-community/nixpkgs-fmt
|
|
Change-Id: Iccef9b065eb4bee917b0084fb0b34e76f09223f2
|
|
I've multiple go modules inside a git repository. Without support for
workspaces, gopls is confused and does not work correctly.
|
|
|
|
We don't care, as long as these files are ignored in `.gitignore' it
does not matter where we write them.
|
|
|
|
|
|
|
|
|
|
Add a few bindings to run the tests, and make the test output more
verbose by default.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Enable the LSP for nix, and also ensure we're formatting the buffer when
saving a buffer.
|
|
|
|
|
|
|
|
The function needs to be defined before we use it in the `use-package`
for go-mode.
|
|
|
|
It's useful to show errors across a project
|
|
|
|
|
|
Debug Adapter Protocol (DAP) is wire protocol to communicate between a
client and debug server. This is similar to LSP, but for debuggers.
This initial configuration focuses on enabling the mode and setting the
layout for the various buffers (in this case I want the different
buffers on the right screen and keep the main part focused on the code).
I also disable some widget to use the debugger with hydra.
There's still a number of things that are incomplete when it comes to
integrate DAP and delve (the go debugger): there's no way to call
functions, to have access to the variables, etc. But this is a good
start though, to debug simple problems without relying on print
statement.
This also update the configuration for =go= so that =M-x compile=, when
editing a go file, by default will use =go build=. This is not what I
always need / want but this is a good default.
|
|
|
|
|
|
|
|
I want to remap the prefix for `lsp-mode` from `<s-l>` to `<C-c l>`,
since I'm already using super for i3.
Diminish the mode, there's no need to have this in the modeline.
Update some of the variables (some were deprecated / replaced with
different names).
|
|
clean up and drop what I don't need
|
|
clean up init.el from files I'm not loading.
|
|
I can't bother learning / remembering to use it. I'm removing it again
from this configuration, and will drop it completely. There's no need to
pull / maintain another dependency which will break if I don't use it.
|
|
|
|
For the various prog-mode, merge the configuration into a single file so
that it's easier to maintain (I guess ?)
|
|
|
|
A few changes to the configuration related to go, mostly to drop some
code that is not needed anymore.
Add a few more bindings for LSP.
Add `company-posframe`, which is a nicer UI for company.
|
|
Previously I was using the package `eglot` to provide LSP functionality.
However, the package uses flymake for it, while my setup in general uses
flycheck. Since lsp-mode supports both, I'm switching to ls-mode.
I'm moving the code for company to the 'prog' module, so that all things
related to general programming is in one location.
Since I'm switching to lsp-mode mode primarily for go, I can also delete
a bunch of extra functionality that is now provided by lsp-mode.
|
|
I'm giving LSP a try with go, and I've decided to go with eglot for
now, instead of lsp-mode.
I gave a try to lsp-mode and the configuration was not obvious, it was
slow, it kept asking questions, and the UI was pretty awful.
|