diff --git a/README.org b/README.org index 7257052..41c9f3a 100644 --- a/README.org +++ b/README.org @@ -211,7 +211,6 @@ mkShell { buildInputs = [ go gopls - protoc-gen-go-grpc ]; shellHook = '' export GO111MODULE=on @@ -331,11 +330,11 @@ Import this shell with ~nix-shell /etc/dotfiles/shells/python.nix~ with pkgs; mkShell { buildInputs = [ - python39Packages.pip - python39Packages.pip-tools - python39Packages.pyls-mypy - python39Packages.pyls-isort - python39Packages.pyls-black + python38Packages.pip + python38Packages.pip-tools + python38Packages.pyls-mypy + python38Packages.pyls-isort + python38Packages.pyls-black ]; shellHook = '' ''; @@ -2326,6 +2325,29 @@ The Language Server Protocol (LSP)[fn:70] defines the protocol used between an E lsp-ui-doc-delay 0.5) #+END_SRC +** CCLS + +#+NAME: emacs-ccls-package +#+BEGIN_SRC nix +epkgs.ccls +#+END_SRC + +Emacs CCLS[fn:: https://github.com/MaskRay/emacs-ccls] is a client for CCLS, a C/C++/Objective-C language server supporting multi-million line C++ code bases, powered by libclang. + +#+NAME: emacs-ccls-elisp +#+BEGIN_SRC emacs-lisp +;; Configure `ccls' to work with `lsp-mode'. +(defun dotfiles/ccls-hook () + (require 'ccls) + (lsp)) + +;; Configure `ccls' mode hooks. +(add-hook 'c-mode-hook 'dotfiles/ccls-hook) +(add-hook 'c++-mode-hook 'dotfiles/ccls-hook) +(add-hook 'objc-mode-hook 'dotfiles/ccls-hook) +(add-hook 'cuda-mode-hook 'dotfiles/ccls-hook) +#+END_SRC + ** Company Mode #+NAME: emacs-company-package diff --git a/shells/go.nix b/shells/go.nix index e69b8ca..fce3d44 100644 --- a/shells/go.nix +++ b/shells/go.nix @@ -6,7 +6,6 @@ mkShell { buildInputs = [ go gopls - protoc-gen-go-grpc ]; shellHook = '' export GO111MODULE=on