-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
15 changed files
with
332 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
=== Information buffer | ||
|
||
All information on Elin, such as the content of standard output during evaluation and test results, is recorded in this buffer. | ||
To show/clear the information buffer, use the following commands. | ||
|
||
[%autowidth,cols="a,a"] | ||
|=== | ||
| Command | Default key mapping | ||
|
||
| ElinToggleInfoBuffer | ||
| `{elin-internal-buffer-info-toggle}` | ||
|
||
| ElinClearInfoBuffer | ||
| `{elin-internal-buffer-info-clear}` | ||
|=== | ||
|
||
=== Temporal buffer | ||
|
||
This buffer temporarily displays content that is newly recorded in the <<Information buffer>> when the <<Information buffer>> is not currently visible. | ||
It is used, for example, to display <<Testing,test results>> or <<Macro,macro expansion results>>. | ||
|
||
This buffer automatically closes when the <<Information buffer>> is displayed. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
Elin provides only omni completion by default. | ||
It is set to https://vim-jp.org/vimdoc-en/options.html#'omnifunc'[omnifunc] for `clojure` filetype automatically. | ||
|
||
Vim has a https://vim-jp.org/vimdoc-en/insert.html#i_CTRL-X_CTRL-O[<C-x><C-o>] key mapping for omni completion. | ||
|
||
|
||
=== Auto completion | ||
|
||
Auto completion feature is provided as external <<Plugin,elin plugins>> like follows. | ||
|
||
[%autowidth,cols="a,a",] | ||
|=== | ||
| Plugin | Description | ||
|
||
| https://github.com/liquidz/elin-coc-source[liquidz/elin-coc-source] | ||
| Completion source for https://github.com/neoclide/coc.nvim[neoclide/coc.nvim] | ||
|
||
| https://github.com/liquidz/elin-cmp-source[liquidz/elin-cmp-source] | ||
| Completion source for https://github.com/hrsh7th/nvim-cmp[hrsh7th/nvim-cmp] | ||
|
||
|=== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
=== Macro | ||
Expanding macro is important for writing/debugging macros. Elin provides following commands. | ||
|
||
[%autowidth,cols="a,a"] | ||
|=== | ||
| Command | Default key mapping | ||
|
||
| <<ElinMacroExpand1CurrentList>> | ||
| `{elin-handler-evaluate-expand-1-current-list}` | ||
|=== | ||
|
||
Expanding results are shown in the <<Temporal buffer>> and <<Information buffer>>. | ||
|
||
|
||
=== #dbg and #break | ||
|
||
Elin supports CIDER’s `#dbg` and `#break` reader literals. | ||
The easiest way is to put `#dbg` to your code, and evaluate it. | ||
|
||
[source,clojure] | ||
---- | ||
(defn fib [n] | ||
#dbg (loop [a 0 b 1 n n] | ||
(if (<= n 0) | ||
a | ||
(recur b (+ a b) (dec n))))) | ||
---- | ||
|
||
Once you evaluate `(fib 10)`, debugger will launch. | ||
|
||
This feature is implemented by the <<_interceptor_debugprocess_debugger>> interceptor. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
There are some commands to lookup the documentation of the symbol under the cursor. | ||
|
||
[%autowidth,cols="a,a,a"] | ||
|=== | ||
| Command | Default key mapping | Description | ||
|
||
| <<ElinLookup>> | ||
| `{elin-handler-lookup-lookup}` | ||
| Lookup docstring | ||
|
||
| <<ElinShowSource>> | ||
| `{elin-handler-lookup-show-source}` | ||
| Lookup source code | ||
|
||
| <<ElinShowClojureDocs>> | ||
| `{elin-handler-lookup-show-clojuredocs}` | ||
| Lookup https://clojuredocs.org/[ClojureDocs] | ||
|
||
|=== | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
Elin provides the following commands for namespace operations. | ||
|
||
[%autowidth,cols="a,a,a"] | ||
|=== | ||
| Command | Default key mapping | Description | ||
|
||
| <<ElinEvalNsForm>> | ||
| `{elin-handler-evaluate-evaluate-namespace-form}` | ||
| Evaluate `ns` form in the current buffer | ||
|
||
| <<ElinAddLibspec>> | ||
| `{elin-handler-namespace-add-libspec}` | ||
| Allow selection of the available namespaces in <<Selectors>>, and add the selected one to the `ns` form. | ||
|
||
| <<ElinAddMissingLibspec>> | ||
| `{elin-handler-namespace-add-missing-libspec}` | ||
| Add the missing libspec for the symbol under the cursor to the `ns` form. | ||
|
||
|=== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
=== Jump to definition | ||
|
||
Elin provides the following command to jump to the definition of the symbol under the cursor. | ||
|
||
[%autowidth,cols="a,a"] | ||
|=== | ||
| Command | Default key mapping | ||
|
||
| <<ElinJumpToDefinition>> | ||
| `{elin-handler-navigate-jump-to-definition}` | ||
|=== | ||
|
||
This command supports jumping to: | ||
|
||
* Qualified symbols | ||
* Local bindings | ||
* Protocol implementations | ||
=== Refer usages | ||
|
||
For browsing locations that refers to the symbol under the cursor, the following commannds are useful. | ||
|
||
[%autowidth,cols="a,a"] | ||
|=== | ||
| Command | Default key mapping | ||
|
||
| <<ElinReferences>> | ||
| `{elin-handler-navigate-references}` | ||
|
||
| <<ElinLocalReferences>> | ||
| `{elin-handler-navigate-local-references}` | ||
|=== | ||
|
||
When only one location is found, the cursor will jump to the location immediately. | ||
Otherwise, the locations will be added to the https://vim-jp.org/vimdoc-en/quickfix.html#location-list[location list]. | ||
|
||
=== Other navigations | ||
|
||
==== Cycle source and test code | ||
|
||
You can cycle source file and test file for current namespace. | ||
|
||
[%autowidth,cols="a,a"] | ||
|=== | ||
| Command | Default key mapping | ||
|
||
| <<ElinCycleSourceAndTest>> | ||
| `{elin-handler-navigate-cycle-source-and-test}` | ||
|=== | ||
|
||
For example, when you are in `foo.core`, <<ElinCycleSourceAndTest>> command will open the file which has `foo.core-test` namespace. | ||
If there is no corresponding file, elin suggests pseudo file path to create new namespace. |
Oops, something went wrong.