Skip to content

Commit ad47cc0

Browse files
author
Chen Bin
committed
minor update of developer guide
1 parent d12630d commit ad47cc0

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

developer-guide-en.org

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Easy/light/good solutions are provided instead of difficult/heavy/perfect soluti
1212
- [[#introduction][Introduction]]
1313
- [[#code-completion][Code completion]]
1414
- [[#code-navigation][Code navigation]]
15+
- [[#language-server-protocol][Language Server Protocol]]
1516
- [[#editing][Editing]]
1617
- [[#git][Git]]
1718
- [[#syntax-check][Syntax check]]
@@ -38,6 +39,10 @@ Use [[https://github.com/syohex/emacs-counsel-gtags][counsel-gtags]] if =company
3839
Use [[https://github.com/redguardtoo/counsel-etags][counsel-etags]] if =company-etags= is already used.
3940

4041
Exclude patterns can be used to filter the candidates. For example, input "k1 !neg1 neg2" means candidates should contain string "k1" but neither "neg1" or "neg2".
42+
* Language Server Protocol
43+
Right now [[https://www.emacswiki.org/emacs/LanguageServerProtocol][Language Server Protocol]] is very popular. It provides code completion, code navigation , and many other features. It could be a bit slower than more light weight solutions.
44+
45+
But in Emacs world, you could use multiple solutions at the same time. For example, you could use =company-gtags= from =company-mode= AND =company-capf= from [[https://github.com/emacs-lsp/lsp-mode/][lsp-mode]] in one project. See the documentation of =company-backends= of =company-mode= for details.
4146
* Editing
4247
Use [[https://github.com/emacs-evil/evil][Evil]] because most time your are moving cursor in left/right/up/down direction. Evil (Vim emulator) uses =hjkl= to do these things.
4348

@@ -111,11 +116,11 @@ Make sure your project is using git.
111116

112117
All developer will encounter the problem to find file with similar file name. C++ developers need find "window.hpp" from "window.cpp". Javascript developers need find "Component.test.js" from "Component.js".
113118

114-
The easiest solution is just sorting the candidates from =counsel-git= by string distance. See [[https://www.emacswiki.org/emacs/LevenshteinDistance][LevenshteinDistance]].
119+
The easiest solution is to sort the candidates from =counsel-git= by [[https://www.emacswiki.org/emacs/LevenshteinDistance][string distance]].
115120

116-
There are tons of handy commands from these counsel/swiper/ivy (=counsel-imenu=, =counsel-recentf=, =counsel-ibuffer=, ...).
121+
There are tons of handy commands from counsel/swiper/ivy (=counsel-imenu=, =counsel-recentf=, =counsel-ibuffer=, ...).
117122

118-
API =ivy-read= from =ivy= is useful. Here is a simple demo on how to use =ivy-read=,
123+
API =ivy-read= from =ivy= is very useful. Here is a simple demo on how to use =ivy-read=,
119124

120125
#+begin_src elisp
121126
(require 'ivy)
@@ -125,7 +130,7 @@ API =ivy-read= from =ivy= is useful. Here is a simple demo on how to use =ivy-re
125130
(message "I chose %s" choice)))
126131
#+end_src
127132
* Sub-windows
128-
I usually open 4~8 sub-windows and use [[https://github.com/deb0ch/emacs-winum][winum]] to move focus between sub-windows.
133+
I usually open 4 sub-windows and use [[https://github.com/deb0ch/emacs-winum][winum]] to move cursor between sub-windows.
129134

130135
You need some package to save and load sub-windows layout. You can start from [[https://github.com/wasamasa/eyebrowse][eyebrowse]].
131136
* Execute command

0 commit comments

Comments
 (0)