added c-mode config with LSP support, and added flymake to sh-mode

This commit is contained in:
2024-07-01 20:07:01 +02:00
parent c16659037c
commit 47eb117e9f
4 changed files with 25 additions and 6 deletions

6
.gitignore vendored
View File

@@ -2,11 +2,7 @@
auto-save-list auto-save-list
backups backups
el-get el-get
elpa-27.1 elpa-*.*
elpa-28.2
elpa-29.1
elpa-29.2
elpa-29.3
.eln-cache .eln-cache
elpa elpa
projectile-bookmarks.eld projectile-bookmarks.eld

View File

@@ -113,6 +113,7 @@
(require 'init-shellscript) (require 'init-shellscript)
(require 'init-perl) (require 'init-perl)
(require 'init-go) (require 'init-go)
(require 'init-c)
(require 'init-lua) (require 'init-lua)
(require 'init-sgml) (require 'init-sgml)
(require 'init-webmode) (require 'init-webmode)

20
lisp/init-c.el Normal file
View File

@@ -0,0 +1,20 @@
;; *** C
(use-package c-mode
:ensure nil ;; installed in site-lisp
:defer nil
:init
(when (fboundp 'lsp-deferred)
(defun lsp-c-install-save-hooks ()
(add-hook 'before-save-hook #'lsp-format-buffer t t)
(add-hook 'before-save-hook #'lsp-organize-imports t t))
(add-hook 'c-mode-hook #'lsp-deferred)
(add-hook 'c-mode-hook #'lsp-c-install-save-hooks)
;; c-mode sets TAB to 'c-indent-line-or-region by default which collides with corfu.
(add-hook 'c-mode-hook (lambda () (define-key c-mode-map (kbd "<tab>") #'indent-for-tab-command)))))
(provide 'init-c)
;;; init-c.el ends here

View File

@@ -7,13 +7,15 @@
:custom :custom
(flymake-no-changes-timeout nil) (flymake-no-changes-timeout nil)
(flymake-shellcheck-allow-external-files t)
:init :init
(defun tvd-flymake-install-hooks() (defun tvd-flymake-install-hooks()
(add-hook 'before-save-hook #'flymake-start)) (add-hook 'before-save-hook #'flymake-start))
(defalias 'check-flymake 'consult-flymake)
:bind :bind
("!" . consult-flymake) ;;; ("!" . consult-flymake)
:config :config
(add-hook 'shell-script-mode-hook #'tvd-flymake-install-hooks)) (add-hook 'shell-script-mode-hook #'tvd-flymake-install-hooks))