Commit Graph

184 Commits

Author SHA1 Message Date
cb719af306 feat(languages): enable shellcheck linting when using bash language server
Due to how lsp integrates with flycheck, it needs to take over all
linting responsibilities.

Hence we need to use efm-langserver to execute shellcheck for us. It's a
bit messy, but end result works pretty well.
2022-04-27 02:28:24 +01:00
1a2682da2a chore(languages): move .zsh association to siren-sh module 2022-04-27 02:27:45 +01:00
2b39d5b0d7 chore(use-package): use :preface in favor of :init when defining things 2022-04-22 23:25:56 +01:00
d86f6c4490 feat(language): enable tree-sitter for most languages that are supported 2022-04-19 01:12:42 +01:00
a8618938bf feat(core): use general.el for keybind definitions nearly everywhere
Primarily this replaces :bind with :general in all use-package calls.
2022-03-14 21:16:15 +00:00
0b7ecb91a2 feat(language/markdown): add vmd-mode to preview markdown via vmd 2022-03-14 21:16:14 +00:00
7da944b04d feat(language/go): add -race flag to gotest invocations 2022-03-14 11:58:47 +00:00
4ea4f6dc95 chore(completion): remove needless company-mode references
Since we enable global-company-mode, explicitly enabling it in the setup
for various major modes does nothing. But it does tie the code to
company mode, making it harder to try alternatives like corfu.
2022-03-14 11:58:47 +00:00
92c16d4dcb feat(language/go): use tree-sitter-mode and tree-sitter-hl-mode 2022-03-10 21:11:26 +00:00
6f422773a5 feat(language/markdown): enable polymode in markdown buffers 2022-02-23 12:11:52 +00:00
75543de052 feat(language/ssh-config): add custom file path to mode list 2022-02-23 12:11:18 +00:00
2554669fea feat(language/go): improve and fix usage of gotest package
- Fix issue where gotest could not be used from non-test files in Emacs
  28.x or later.
- Bind "C-c , t" to ff-find-other-file to mimic behavior in Ruby via
  rspec-mode.
- Configure gotest to always run tests with "-count=1" to avoid cached
  results, so it's easier to notice and handle flickering tests.
2022-02-23 12:11:17 +00:00
f79cb11fa2 chore(language/go): update lsp-mode setup for gopls 2022-02-07 10:44:17 +00:00
fdc443ea74 feat(languages): enable lsp-mode in Dockerfiles and web-mode buffers 2022-01-16 12:17:36 +00:00
5a464d6562 chore(languages): simplify terraform configuration
lsp-mode now supports terraform-lsp and terraform-ls, so there's no need
to define a custom language server for terraform-ls.
2022-01-16 11:56:50 +00:00
0ac1c86102 feat(lang/go): add custom lsp-client for golangci-lint-langserver 2021-11-26 21:20:01 +00:00
6daac868e2 fix(lang/dockerfile): add custom hadolint flycheck checker which actually works 2021-10-24 03:56:51 +01:00
01bd757c15 fix(lang): gitconfig-mode and gitignore-mode have been replaced with git-modes 2021-10-24 03:50:18 +01:00
5849a7b522 feat(lang): enable a few gopls analyzers which are disabled by default 2021-10-06 04:37:19 +01:00
abc1dddcf9 fix(lang): set tab-width in protobuf-mode 2021-09-28 09:26:01 +01:00
093f4a62c3 feat(lang): add ssh-config-mode for ssh config and authorized_keys files 2021-09-18 20:46:46 +01:00
d3ee78224a feat(lang): add protobuf-mode and configure flycheck to support buf 2021-09-16 19:40:09 +01:00
32f23ea33b fix(lang): tweak golines arguments to not use deprecated gofumports 2021-09-15 12:28:41 +01:00
4cb9c3d3a0 feat(makefile): improve makefile execution and bind it to C-c C-m
Use the makefile-executor package instead of helm-make to execute make
targets. But we still rely on helm-make due to it's more efficient
available targets lookup function compared to that of makefile-executor.

Running make targets is bound to C-c C-m now which is nice and fast, and
completes via completing-read, which is currently giving a better
suggested candidates via selectrum+orderless than helm-make does.

And helm-make is still available via the old C-c h m keybinding.
2021-09-13 12:38:34 +01:00
46a8169ed3 fix(lsp): only use lsp-mode in bash and sh based sh-mode buffer 2021-08-07 17:12:36 +01:00
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