Compare commits
10 commits
master
...
lsp_experi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c169b230e | ||
|
|
5792beb9ee | ||
|
|
71b5e34a9e | ||
|
|
593de2293d | ||
|
|
5559316d09 | ||
|
|
e411693eb0 | ||
|
|
348b36dafd | ||
|
|
57c0927448 | ||
|
|
fb94a22ec9 | ||
|
|
6e2fb64ec8 |
1 changed files with 82 additions and 48 deletions
130
config.org
130
config.org
|
|
@ -15,15 +15,12 @@ My personal emacs configuration
|
||||||
This configuration requires the installation of :
|
This configuration requires the installation of :
|
||||||
|
|
||||||
- the GNU =global= package (for gtags)
|
- the GNU =global= package (for gtags)
|
||||||
- =clang= (for ivory)
|
- ccls language server (for LSP functionality)
|
||||||
- =cmake= (for ivory)
|
|
||||||
- =llvm-libs= (for cmake, somehow not a dependency on Manjaro when installing cmake)
|
- =llvm-libs= (for cmake, somehow not a dependency on Manjaro when installing cmake)
|
||||||
- Use python-pip to install requirements for elpy:
|
- Use python-pip to install requirements for elpy:
|
||||||
=pip install jedi flake8 importmagic autopep8 yapf=
|
=pip install jedi flake8 importmagic autopep8 yapf=
|
||||||
- =ditaa= (for ascii to image generation in org-mode)
|
- =ditaa= (for ascii to image generation in org-mode)
|
||||||
|
|
||||||
When first checking out this config, run =irony-install-server= to make and install the irony-server.
|
|
||||||
|
|
||||||
* Utils
|
* Utils
|
||||||
|
|
||||||
** Custom command line arguments
|
** Custom command line arguments
|
||||||
|
|
@ -760,6 +757,20 @@ https://github.com/bbatsov/helm-projectile
|
||||||
)
|
)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
** Helm-mt
|
||||||
|
|
||||||
|
Helm frontend for [[Multi-term]]
|
||||||
|
https://github.com/dfdeshom/helm-mt
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package helm-mt
|
||||||
|
:ensure t
|
||||||
|
:bind ("C-x t" . helm-mt)
|
||||||
|
:config
|
||||||
|
(helm-mt/reroute-terminal-functions t)
|
||||||
|
)
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
* Mutliple cursors
|
* Mutliple cursors
|
||||||
|
|
||||||
https://github.com/magnars/multiple-cursors.el
|
https://github.com/magnars/multiple-cursors.el
|
||||||
|
|
@ -869,6 +880,57 @@ On-the-fly syntax checking.
|
||||||
(add-hook 'prog-mode-hook 'company-mode)
|
(add-hook 'prog-mode-hook 'company-mode)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
** LSP
|
||||||
|
|
||||||
|
Just awesome IDE features:
|
||||||
|
https://github.com/MaskRay/ccls
|
||||||
|
https://github.com/MaskRay/emacs-ccls
|
||||||
|
https://github.com/emacs-lsp/lsp-mode
|
||||||
|
https://github.com/emacs-lsp/lsp-ui
|
||||||
|
https://github.com/tigersoldier/company-lsp
|
||||||
|
https://github.com/joaotavora/eglot
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(defun +ccls/enable ()
|
||||||
|
(condition-case nil
|
||||||
|
(lsp-ccls-enable)
|
||||||
|
(user-error nil)))
|
||||||
|
|
||||||
|
(use-package ccls
|
||||||
|
:ensure t
|
||||||
|
:commands lsp-ccls-enable
|
||||||
|
:init
|
||||||
|
(add-hook 'c-mode-hook #'+ccls/enable)
|
||||||
|
)
|
||||||
|
|
||||||
|
(use-package lsp-ui
|
||||||
|
:ensure t
|
||||||
|
:init (add-hook 'lsp-after-open-hook #'lsp-ui-mode)
|
||||||
|
:config
|
||||||
|
(setq lsp-ui-doc-enable t
|
||||||
|
lsp-ui-doc-header t
|
||||||
|
lsp-ui-doc-include-signature t
|
||||||
|
;; lsp-ui-doc-position 'at-point
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(use-package company-lsp
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(push 'company-lsp company-backends)
|
||||||
|
(setq company-lsp-enable-recompletion t
|
||||||
|
company-lsp-enable-snippet t
|
||||||
|
company-lsp-cache-candidates t
|
||||||
|
company-lsp-async t)
|
||||||
|
)
|
||||||
|
|
||||||
|
(use-package eglot
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
(add-hook 'prog-mode-hook 'eglot-ensure)
|
||||||
|
)
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
** (Relative) Line numbers
|
** (Relative) Line numbers
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
|
@ -883,56 +945,13 @@ On-the-fly syntax checking.
|
||||||
|
|
||||||
*** Flycheck
|
*** Flycheck
|
||||||
|
|
||||||
Clang static analyzer with flycheck
|
Functionality provided by LSP and flycheck combination.
|
||||||
|
|
||||||
https://github.com/alexmurray/flycheck-clang-analyzer
|
|
||||||
https://github.com/Sarcasm/flycheck-irony
|
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(use-package flycheck-clang-analyzer
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(with-eval-after-load 'flycheck
|
|
||||||
(require 'flycheck-clang-analyzer)
|
|
||||||
(flycheck-clang-analyzer-setup)))
|
|
||||||
|
|
||||||
(use-package flycheck-irony
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(eval-after-load 'flycheck
|
|
||||||
'(add-hook 'flycheck-mode-hook #'flycheck-irony-setup))
|
|
||||||
)
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
*** Company
|
*** Company
|
||||||
|
|
||||||
https://github.com/ikirill/irony-eldoc
|
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package company-c-headers
|
(use-package company-c-headers
|
||||||
:ensure t)
|
:ensure t)
|
||||||
|
|
||||||
(use-package company-irony
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(setq company-backends '((company-c-headers
|
|
||||||
;; company-dabbrev-code ;; not sure what this is
|
|
||||||
company-irony))))
|
|
||||||
|
|
||||||
(use-package irony
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options)
|
|
||||||
(add-hook 'c++-mode-hook 'irony-mode)
|
|
||||||
(add-hook 'c-mode-hook 'irony-mode)
|
|
||||||
(add-hook 'objc-mode-hook 'irony-mode)
|
|
||||||
)
|
|
||||||
|
|
||||||
(use-package irony-eldoc
|
|
||||||
:ensure t
|
|
||||||
:config
|
|
||||||
(add-hook 'irony-mode-hook 'irony-eldoc)
|
|
||||||
)
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Python mode
|
** Python mode
|
||||||
|
|
@ -1190,6 +1209,20 @@ https://github.com/myrjola/diminish.el
|
||||||
)
|
)
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
* Shell
|
||||||
|
** Multi-term
|
||||||
|
<<multi-term>>
|
||||||
|
|
||||||
|
Manage multiple terminals.
|
||||||
|
|
||||||
|
https://www.emacswiki.org/emacs/MultiTerm
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(use-package multi-term
|
||||||
|
:ensure t
|
||||||
|
)
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
* Shell-pop
|
* Shell-pop
|
||||||
|
|
||||||
https://github.com/kyagi/shell-pop-el
|
https://github.com/kyagi/shell-pop-el
|
||||||
|
|
@ -1257,6 +1290,7 @@ https://github.com/Malabarba/paradox
|
||||||
:config
|
:config
|
||||||
(paradox-enable)
|
(paradox-enable)
|
||||||
)
|
)
|
||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* EXWM
|
* EXWM
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue