1
0
Fork 0

[oni-c] Set up use of ccls for C coding

This commit is contained in:
Tom Willemse 2021-07-08 02:27:18 -07:00
parent 4309e56f00
commit 2f11c17685

View file

@ -4,8 +4,8 @@
;; Author: Tom Willemse <tom@ryuslash.org> ;; Author: Tom Willemse <tom@ryuslash.org>
;; Keywords: local ;; Keywords: local
;; Version: 2021.0622.220854 ;; Version: 2021.0708.011015
;; Package-Requires: (oni-flycheck oni-lsp reformatter) ;; Package-Requires: (oni-flycheck oni-lsp reformatter ccls)
;; This program is free software; you can redistribute it and/or modify ;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by ;; it under the terms of the GNU General Public License as published by
@ -34,19 +34,24 @@
(setq-local comment-auto-fill-only-comments t) (setq-local comment-auto-fill-only-comments t)
(auto-fill-mode)) (auto-fill-mode))
(defun oni-c-ccls-lsp ()
"Enable lsp ensuring ccls is used."
(require 'ccls)
(lsp))
(reformatter-define oni-c-clang-formatter (reformatter-define oni-c-clang-formatter
:program "clang-format" :program "clang-format"
:lighter "" :lighter ""
:group 'oni-c) :group 'oni-c)
(add-hook 'c-mode-hook #'oni-c--auto-fill-mode)
(add-hook 'c-mode-hook #'oni-c-ccls-lsp)
(add-hook 'c-mode-hook #'oni-c-clang-formatter-on-save-mode)
(add-hook 'c-mode-hook 'abbrev-mode) (add-hook 'c-mode-hook 'abbrev-mode)
(add-hook 'c-mode-hook 'display-fill-column-indicator-mode) (add-hook 'c-mode-hook 'display-fill-column-indicator-mode)
(add-hook 'c-mode-hook 'electric-indent-local-mode) (add-hook 'c-mode-hook 'electric-indent-local-mode)
(add-hook 'c-mode-hook 'electric-pair-local-mode) (add-hook 'c-mode-hook 'electric-pair-local-mode)
(add-hook 'c-mode-hook 'flycheck-mode) (add-hook 'c-mode-hook 'flycheck-mode)
(add-hook 'c-mode-hook 'lsp)
(add-hook 'c-mode-hook 'oni-c--auto-fill-mode)
(add-hook 'c-mode-hook 'oni-c-clang-formatter-on-save-mode)
(define-abbrev c-mode-abbrev-table "and" "&&" nil :system t) (define-abbrev c-mode-abbrev-table "and" "&&" nil :system t)
(define-abbrev c-mode-abbrev-table "or" "||" nil :system t) (define-abbrev c-mode-abbrev-table "or" "||" nil :system t)