Commit Graph

159 Commits

Author SHA1 Message Date
17f63255d9 feat(lang): improve jsonnet-mode setup with format on save, and more 2021-08-03 01:27:39 +01:00
14f394c7ca feat(lsp): allow C-c C-f to perform extra formatting not done by on-save hook 2021-06-29 00:36:36 +01:00
850c9dbbdd feat(lang): enable lsp-mode for bash and sh script files in sh-mode 2021-06-29 00:35:57 +01:00
79007f6687 chore(languages): remove temporary dockerfile-mode auto-mode-alist tweaks
The PR that addressed the issue was merged long ago, and I simply forgot
to remove the temporary fix :P
2021-06-24 22:48:20 +01:00
f77a3150b7 chore(lsp): improve lsp and formatting behavior of js, json and yaml modes 2021-06-24 22:13:57 +01:00
4b228ae317 chore(lang): tweak company-mode idle-delay for Go 2021-06-17 20:49:26 +01:00
38544ef7f2 feat(lang): improve yaml formatting and enable lsp-mode 2021-06-14 10:29:02 +01:00
a07cc6746f feat(formatting): swap from prettier.js to lsp-mode to format js/json 2021-05-22 14:36:16 +01:00
b772a6a61d chore(formatting): expand reformatter macro on first use rather than init 2021-05-22 14:34:18 +01:00
0ef8ea787f feat(lang): enable lsp-mode in lua-mode 2021-05-10 11:05:13 +01:00
1fade1ab4d feat(lang): ensure markdown formatting respects local fill-column width
Previously prettier would always format markdown files to 80 character
long lines. Now it reads the character width from the fill-column
variable in such a way that fill-column can be set with dir-local
variables.
2021-04-16 12:37:11 +01:00
cb2fda4eba chore(deps): don't load polymode as it's not actually used by anything 2021-04-15 10:55:34 +01:00
8728d5da9e fix(lang): control Ruby formatting method on a per-project basis
Allow individual projects to override the default lsp-mode based
formatting method by setting rubocopfmt-on-save-use-lsp-format-buffer as
a dir-local variable.

This is useful for projects which require older versions of Ruby where
the latest Solargraph version is not supported, and formatting is better
handled by rubocop directly.
2021-04-12 10:05:22 +01:00
4e50263ded chore(lang): minor tweaks to ruby setup 2021-04-07 23:50:11 +01:00
f374dc4eab feat(lang): add rufo package for Ruby
As I'm not convinced formatting with rufo is good idea yet, this is
simply so I can play with it when I want to. It is not configured to
automatically format files on save.
2021-04-07 23:50:11 +01:00
7de79dd704 fix(formatting): specify parser for prettier-js to avoid errors
Some buffers which use markdown-mode or yaml mode yield errors when
using the prettier-js package to format them, as it looks at the file
extension by default to figure out what parser to use.

Some temporary files that use these modes don't have the correct file
extension, so prettier-js yields an error. My manually specifying the
correct "--parser" option for each major-mode, this is no longer an
issue.
2021-04-07 22:49:58 +01:00
dc24cd4f7f feat(lsp): create and use on-save minor modes for lsp-format-buffer and lsp-organize-imports commands 2021-04-07 22:45:59 +01:00
2d3c1b241c chore(lang): tweak ruby-mode format on save setup to use lsp-mode directly
Instead of executing lsp-format-buffer on save via the rubocopfmt
package, simply set it up as a buffer-local before-save-hook.

Also simplify the rubocopfmt package configuration, as I rarely use it
anymore, but would still want to be able to manually execute rubocopfmt.
2021-04-02 11:32:50 +01:00
009c3dc4b1 feat(lang): handle additional file patterns with sh-mode 2021-03-23 11:34:00 +00:00
06f0db1035 feat(lang): use reformatter to enable golines formatting
This is much cleaner than hacking go-mode's gofmt function to run
golines. Instead there's a `golines` command, and `golines-on-save-mode`
available.
2021-03-22 11:06:06 +00:00
43ce3f6f73 fix(lang): populate auto-mode-alist with correct sh-mode function 2021-03-22 11:04:38 +00:00
da5ecfffcd feat(lang): enable manual formatting of go-mode buffers with golines 2021-03-15 23:12:10 +00:00
bc4328c6d5 fix(lang): disable duplicate before-save hooks for go-mode
Those hooks are already defined in the setup for lsp-go.
2021-03-15 23:12:10 +00:00
e74800b5cb fix(lang): ensure Go related env vars are correctly loaded 2021-02-27 23:33:00 +00:00
395ad7ccac fix(startup): correctly setup deferred loading for various packages
This just ensures that various packages that can defer loading actually
does defer until they're first used.
2021-02-17 01:52:59 +00:00
147e9ed1d3 fix(lang): prevent dockerfile-mode wrongfully activating certain files
This is a temporary workaround until this pull request is accepted and
merged: https://github.com/spotify/dockerfile-mode/pull/63
2021-02-17 01:52:58 +00:00
1ff9e880ba feat(lang): enable lsp-mode for sql-mode via sqls language server 2021-02-14 22:26:07 +00:00
dd4c77ad24 fix(lang): for formatting of *.sql files with pgformatter 2021-02-14 22:25:48 +00:00
f41a9daff1 fix(lang): debug current go test now works in non-root module packages 2021-02-14 22:24:47 +00:00
4f1e68f33e fix(lang): correctly add rubocopfmt package vars to list of safe local vars 2021-01-21 10:34:05 +00:00
3f5b3ba9ca chore(lang): mark rubocopfmt-on-save-use-lsp-format-buffer as safe local variable 2021-01-15 02:11:20 +00:00
2438f0ab90 fix(lang): correctly set projectile igonore directories 2021-01-15 02:11:20 +00:00
996a5b8bf6 feat(lang): format ruby-mode buffers with language server 2021-01-15 02:11:19 +00:00
c1865ad309 fix(lang): correctly load dap-mode for go-mode 2021-01-15 02:11:19 +00:00
672d6d819c feat(lang): enable debugging current test in go-mode via dap-mode
Adds a function and keybinding to lookup name of current test via
a gotest.el helper function, and runs dap-mode with relevant config to
debug the specific test name found.
2021-01-04 00:20:09 +00:00
b31b35edee feat(lang): allow gopls language server to modify go.mod
This ensures that the language server can download and use new
packages. Instead of blowing up with errors.
2020-12-25 13:27:18 +00:00
aaf5eddecf chore(lsp): improve lsp setup for golang 2020-12-01 11:06:30 +00:00
9a51b31c9e feat(lang): expand golang-related env vars which are imported 2020-11-15 17:13:19 +00:00
7917f6ac56 feat(debugging): add dap-mode with basic config for Go and Ruby 2020-11-11 10:51:08 +00:00
41f2d5c826 chore(lang): mark rubocopfmt-include-unsafe-cops var as safe local var 2020-11-11 10:47:05 +00:00
3adfd0c0eb feat(lang): enable terraform-ls language server support in terraform-mode 2020-11-09 10:47:40 +00:00
b784fccb40 chore(lang): set golang lsp config to include placeholders 2020-11-09 10:47:40 +00:00
12517bf9e3 chore(lsp): use lsp-deferred instead of lsp everywhere
Ensure language servers only start when a buffer is visible. This helps
with desktop restore speed, as various language servers do not start all
at the same time.
2020-11-09 10:47:39 +00:00
7ca255db9c feat(lang): format go-mode buffers on save with gofumpt via lsp-mode
Also tweak a couple of other gopls settings, and set a others to their
defaults for the purpose of ensuring they stay that way, and also to
make it more obvious within emacs what options are available.
2020-10-29 13:12:01 +00:00
192499a67b fix(lang): disable indentation highlights for Makefiles
The highlight-indent-guides package seems to have a cursor movement bug
with some modes, and makefile-mode is one of them.

Also Makefiles are tab indented, and the indentation highlight replaces
the tab character symbol, making it difficult to properly understand the
indentation level.
2020-10-27 13:13:15 +00:00
9d45b1a908 fix(lang): ensure golang setup works with goenv 2020-10-09 10:23:27 +01:00
239dd32624 chore(lang): remove rbenv.el from ruby setup
I never used it, and doom-modeline does an excellent job of showing
active Ruby version, among other languages
2020-09-27 19:47:06 +01:00
5937589cc5 feat(lang): add jsonnet-mode 2020-09-27 19:46:27 +01:00
298587d35d fix(lang): resolve json-snatcher issue by overriding it with a fork 2020-09-10 20:22:42 +01:00
1c81570ef7 fix(packages): update package definitions to be compatible with latest straight.el
A recent change (https://github.com/raxod502/straight.el/pull/558) to
straight.el's use-package integration led to some of my :straight
definitions throwing errors.

When overriding the package name, do not wrap the real name in parens,
for example:

    ;; bad (no longer works)
    (use-package helm-global-bindings
      :straight (helm))

    ;; good (worked before, still works)
    (use-package helm-global-bindings
      :straight helm)
2020-08-27 23:37:28 +01:00