From 0d3576851b2b0af614f87b073ee82bccd3cff49a Mon Sep 17 00:00:00 2001 From: paul-loedige Date: Wed, 10 Jan 2024 19:27:34 +0100 Subject: [PATCH] added c/c++ support as per Doom Emacs docs --- emacs/.config/doom/config.org | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/emacs/.config/doom/config.org b/emacs/.config/doom/config.org index fdb1d14..2e3fc15 100644 --- a/emacs/.config/doom/config.org +++ b/emacs/.config/doom/config.org @@ -35,6 +35,8 @@ - [[#bibliography][Bibliography]] - [[#python][Python]] - [[#set-debugger-to-debugpy][Set Debugger to debugpy]] +- [[#cc][C/C++]] + - [[#lsp][LSP]] * Config File Headers We start by simply defining the standard headers used by the three files. These headers come from the initial files generated by =doom install=, and contain either some Emacs-LISP relevant indicators like =lexical-binding=, or instructions about the contents of the file. @@ -290,7 +292,7 @@ We start by simply defining the standard headers used by the three files. These :lang ;;agda ; types of types of types of types... ;;beancount ; mind the GAAP - (cc +lsp) ; C > C++ == 1 + (cc +lsp +tree-sitter) ; C > C++ == 1 ;;clojure ; java with a lisp ;;common-lisp ; if you've seen one lisp, you've seen them all ;;coq ; proofs-as-programs @@ -328,7 +330,7 @@ We start by simply defining the standard headers used by the three files. These ;;nim ; python + lisp at the speed of c ;;nix ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel - (org +roam2 +dragndrop +pretty) ; organize your plain life in plain text + (org +roam2 +dragndrop +pretty +present) ; organize your plain life in plain text ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional @@ -493,7 +495,7 @@ To get a more nuanced overview of my current TODOs I add more progress states. | | TODO | BLOCKED | IN_PROGRESS | REVIEW | TESTING | | DONE | DELEGATED | CANCELED | |------------+------+---------+-------------+--------+---------+---+------+-----------+----------| | Access Key | t | b | i | r | t | | d | | c | -| Log Type | time | note | time | note | note | | time | note | note | +| Log Type | time | note | time | note | note | | time | note | note | #+begin_src emacs-lisp :tangle config.el (after! org (setq org-todo-keywords @@ -600,3 +602,18 @@ as per the [[https://github.com/doomemacs/doomemacs/tree/master/modules/tools/de (after! dap-mode (setq dap-python-debugger 'debugpy)) #+end_src + +* C/C++ +** LSP +As per the [[https://github.com/doomemacs/doomemacs/tree/master/modules/lang/cc#lsp-mode-with-clangd][Doom Emacs documentation]] the LSP-mode needs to be set +#+begin_src emacs-lisp :tangle config.el +(after! lsp-clangd + (setq lsp-clients-clangd-args + '("-j=3" + "--background-index" + "--clang-tidy" + "--completion-style=detailed" + "--header-insertion=never" + "--header-insertion-decorators=0")) + (set-lsp-priority! 'clangd 2)) +#+end_src