diff --git a/modules/languages/siren-ruby.el b/modules/languages/siren-ruby.el index 9712505..11e017d 100644 --- a/modules/languages/siren-ruby.el +++ b/modules/languages/siren-ruby.el @@ -54,15 +54,14 @@ :init (defun siren-ruby-mode-setup () - (setq c-tab-always-indent nil - ruby-align-chained-calls t - ruby-insert-encoding-magic-comment t - ruby-use-smie t - tab-width 2) + (setq-local c-tab-always-indent nil + ruby-align-chained-calls t + ruby-insert-encoding-magic-comment t + ruby-use-smie t + tab-width 2) (company-mode +1) (siren-folding) - (lsp) (subword-mode +1)) :config @@ -77,6 +76,12 @@ ,(rx (or "#" "=begin")) ;; Comment start ruby-forward-sexp nil))) +(use-package lsp-solargraph + :straight (lsp-mode) + + :hook + (ruby-mode . lsp-deferred)) + (use-package inf-ruby :defer t :hook diff --git a/modules/lsp/siren-lsp.el b/modules/lsp/siren-lsp.el index eefc806..216af86 100644 --- a/modules/lsp/siren-lsp.el +++ b/modules/lsp/siren-lsp.el @@ -9,10 +9,20 @@ (use-package lsp-mode :defer t :bind (:map lsp-mode-map - ("C-c C-." . lsp-rename)) + ("C-c C-." . lsp-rename) + ("C-c C-f" . lsp-format-buffer)) + + :hook + (lsp-mode . siren-lsp-mode-setup) :custom - (lsp-eldoc-render-all nil)) + (lsp-keymap-prefix "M-;") + (lsp-eldoc-render-all nil) + + :init + (defun siren-lsp-mode-setup () + (setq-local company-idle-delay 0.0 + company-minimum-prefix-length 1))) (provide 'siren-lsp) ;;; siren-lsp.el ends here