Browse Source

Add CCLS support

main
Christopher James Hayward 4 years ago
parent
commit
5d7c8c90a1
  1. 70
      README.org
  2. 54
      init.el

70
README.org

@ -459,6 +459,22 @@ http://company-mode.github.io/
(use-package company-lsp) (use-package company-lsp)
#+end_src #+end_src
** C/C++
Full *IDE* experience for Python within Emacs.
+ Completion, jumps via =lsp-mode=
+ Debugging via =dap-mode=
Install the =ccls= language server.
+ https://github.com/MaskRay/ccls
#+begin_src emacs-lisp
(use-package ccls
:hook ((c-mode c++-mode objc-mode cuda-mode) .
(lambda () (require 'ccls) (lsp))))
#+end_src
** Python ** Python
Full *IDE* experience for Python within Emacs. Full *IDE* experience for Python within Emacs.
@ -475,12 +491,12 @@ https://www.emacswiki.org/emacs/PythonProgrammingInEmacs
+ Built in mode + Built in mode
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package python-mode
:hook (python-mode . lsp)
:config (require 'dap-python)
:custom (python-shell-interpreter "python3") ;; Required if "python" is not python 3.
(dap-python-executable "python3") ;; Same as above.
(dap-python-debugger 'debugpy))
;; (use-package python-mode
;; :hook (python-mode . lsp)
;; :config (require 'dap-python)
;; :custom (python-shell-interpreter "python3") ;; Required if "python" is not python 3.
;; (dap-python-executable "python3") ;; Same as above.
;; (dap-python-debugger 'debugpy))
#+end_src #+end_src
** Rust ** Rust
@ -493,7 +509,7 @@ https://github.com/brotzeit/rustic
+ Install via ~lsp-install-server~ + Install via ~lsp-install-server~
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package rustic)
;; (use-package rustic)
#+end_src #+end_src
* Writing * Writing
@ -603,6 +619,46 @@ Configure the default capture template for daily entries.
:head "#+TITLE: %<%Y-%m-%d>\n"))) :head "#+TITLE: %<%Y-%m-%d>\n")))
#+end_src #+end_src
** Mail
#+begin_src emacs-lisp
;; (use-package mu4e
;; :ensure nil
;; :config
;; (setq mu4e-change-filenames-when-moving t
;; mu4e-update-interval (* 5 60) ;; Every 5 minutes.
;; mu4e-get-mail-command "mbsync -a"
;; mu4e-maildir "~/.cache/mail")
;; ;; Ensure plain text scales for all devices.
;; (setq mu4e-compose-format-flowed t)
;; ;; GPG signing key for outbound mail.
;; (setq mml-secure-openpgp-signers '("37AB1CB72B741E478CA026D43025DCBD46F81C0F"))
;; (add-hook 'message-send-hook 'mml-secure-message-sign-pgpmime)
;; ;; Use SMTP to send messages.
;; (setq message-send-mail-function 'smtpmail-send-it)
;; ;; Configure mail account(s).
;; (setq mu4e-contexts
;; (list
;; ;; Main
;; ;; chris@chrishayward.xyz
;; (make-mu4e-context
;; :name "Main"
;; :match-func
;; (lambda (msg)
;; (when msg
;; (string-prefix-p "/Main" (mu4e-message-field msg :maildir))))
;; :vars
;; '((user-full-name . "Christopher James Hayward")
;; (user-mail-address . "chris@chrishayward.xyz")
;; (smtpmail-smtp-server . "mail.chrishayward.xyz")
;; (smtpmail-smtp-service . 587)
;; (smtpmail-stream-type . startls))))))
#+end_src
** Agenda ** Agenda
Configure agenda sources. Configure agenda sources.

54
init.el

@ -173,14 +173,18 @@
(use-package company) (use-package company)
(use-package company-lsp) (use-package company-lsp)
(use-package python-mode
:hook (python-mode . lsp)
:config (require 'dap-python)
:custom (python-shell-interpreter "python3") ;; Required if "python" is not python 3.
(dap-python-executable "python3") ;; Same as above.
(dap-python-debugger 'debugpy))
(use-package ccls
:hook ((c-mode c++-mode objc-mode cuda-mode) .
(lambda () (require 'ccls) (lsp))))
(use-package rustic)
;; (use-package python-mode
;; :hook (python-mode . lsp)
;; :config (require 'dap-python)
;; :custom (python-shell-interpreter "python3") ;; Required if "python" is not python 3.
;; (dap-python-executable "python3") ;; Same as above.
;; (dap-python-debugger 'debugpy))
;; (use-package rustic)
(use-package org (use-package org
:hook :hook
@ -242,6 +246,42 @@
:file-name "daily/%<%Y-%m-%d>" :file-name "daily/%<%Y-%m-%d>"
:head "#+TITLE: %<%Y-%m-%d>\n"))) :head "#+TITLE: %<%Y-%m-%d>\n")))
;; (use-package mu4e
;; :ensure nil
;; :config
;; (setq mu4e-change-filenames-when-moving t
;; mu4e-update-interval (* 5 60) ;; Every 5 minutes.
;; mu4e-get-mail-command "mbsync -a"
;; mu4e-maildir "~/.cache/mail")
;; ;; Ensure plain text scales for all devices.
;; (setq mu4e-compose-format-flowed t)
;; ;; GPG signing key for outbound mail.
;; (setq mml-secure-openpgp-signers '("37AB1CB72B741E478CA026D43025DCBD46F81C0F"))
;; (add-hook 'message-send-hook 'mml-secure-message-sign-pgpmime)
;; ;; Use SMTP to send messages.
;; (setq message-send-mail-function 'smtpmail-send-it)
;; ;; Configure mail account(s).
;; (setq mu4e-contexts
;; (list
;; ;; Main
;; ;; chris@chrishayward.xyz
;; (make-mu4e-context
;; :name "Main"
;; :match-func
;; (lambda (msg)
;; (when msg
;; (string-prefix-p "/Main" (mu4e-message-field msg :maildir))))
;; :vars
;; '((user-full-name . "Christopher James Hayward")
;; (user-mail-address . "chris@chrishayward.xyz")
;; (smtpmail-smtp-server . "mail.chrishayward.xyz")
;; (smtpmail-smtp-service . 587)
;; (smtpmail-stream-type . startls))))))
(setq org-agenda-files '("~/.local/source/brain/daily/" (setq org-agenda-files '("~/.local/source/brain/daily/"
"~/.local/source/secrets/org/")) "~/.local/source/secrets/org/"))

Loading…
Cancel
Save