docs(:lang): update READMEs to new format
This commit is contained in:
parent
ca7579a1e9
commit
20cac97c08
61 changed files with 4261 additions and 2634 deletions
|
@ -1,9 +1,9 @@
|
||||||
← [[doom-module-index:][Back to module index]] ↙ [[doom-changelog-search:::lang nil][Changelog]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
← [[doom-module-index:][Back to module index]] ↖ [[doom-module-source:lang][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
#+TITLE: :lang
|
#+TITLE: :lang
|
||||||
#+CREATED: August 3, 2021
|
#+CREATED: August 03, 2021
|
||||||
#+SINCE: v21.12.0
|
#+SINCE: 21.12.0
|
||||||
#+SETUPFILE: ../../docs/.setupfile.org
|
|
||||||
|
|
||||||
* Description
|
* Description
|
||||||
These modules specialize in adding language support to Emacs.
|
These modules specialize in integration particular languages and their
|
||||||
|
ecosystems into (Doom) Emacs.
|
||||||
|
|
|
@ -1,4 +1,54 @@
|
||||||
#+TITLE: :lang agda
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang agda][Issues]] ↖ [[doom-module-source:lang/agda][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang agda
|
||||||
|
#+SUBTITLE: Types of types of types of types...
|
||||||
|
#+CREATED: August 21, 2018
|
||||||
|
#+SINCE: 21.12.0 (#821)
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
This module adds support for the [[http://wiki.portal.chalmers.se/agda/pmwiki.php][agda]] programming language. The Emacs support
|
This module adds support for the [[http://wiki.portal.chalmers.se/agda/pmwiki.php][agda]] programming language. The Emacs support
|
||||||
exists directly in the agda repository but not in melpa.
|
exists directly in the agda repository, but not in melpa.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- unless [[doom-module:][+local]]
|
||||||
|
- [[doom-package:][agda-input]]
|
||||||
|
- [[doom-package:][agda2-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
/This module has no external requirements./
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,53 +1,59 @@
|
||||||
#+TITLE: lang/beancount
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang beancount][Issues]] ↖ [[doom-module-source:lang/beancount][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: April 13, 2021
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v3.0.0
|
#+TITLE: :lang beancount
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: Mind the GAAP
|
||||||
|
#+CREATED: April 13, 2021
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds support for [[https://beancount.github.io/][Beancount]] to Emacs. Beancount, like ledger, lets
|
This module adds support for [[https://beancount.github.io/][Beancount]] to Emacs. Beancount, like ledger, lets
|
||||||
you [[https://plaintextaccounting.org/][manage your money in plain text]].
|
you [[https://plaintextaccounting.org/][manage your money in plain text]].
|
||||||
|
|
||||||
+ Supports [[https://github.com/polarmutex/beancount-language-server][beancount-language-server]] (if module is enabled with the =+lsp=
|
|
||||||
flag).
|
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
- @hlissner
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ =+lsp= Enable support for [beancount-language-server]. Requires Doom's =:tools
|
|
||||||
lsp= module.
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/beancount/beancount-mode][beancount]]
|
- +lsp ::
|
||||||
|
Enable LSP support for ~beancount-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/polarmutex/beancount-language-server][beancount-language-server]]).
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][beancount]]
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
+ Associates the material =attach_money= icon with *.beancount files in the
|
- Associates the material =attach_money= icon with =*.beancount= files in the
|
||||||
=all-the-icons= package.
|
[[doom-package:][all-the-icons]] package.
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
This module has no hard prerequisites, but assumes you have [[https://github.com/beancount/beancount][beancount]] installed
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
in order to generate reports with ~bean-report~.
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires:
|
||||||
|
- [[https://github.com/beancount/beancount][beancount]], for generating reports
|
||||||
|
- [[https://beancount.github.io/fava/][fava]], for a web interface for your ledgers
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
Also: the ~beancount-fava~ command requires [[https://beancount.github.io/fava/][fava]].
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
#+end_quote
|
#+end_quote
|
||||||
|
|
||||||
* TODO Features
|
|
||||||
# An in-depth list of features, how to use them, and their dependencies.
|
|
||||||
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
# How to configure this module, including common problems and how to address them.
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Troubleshooting
|
* Troubleshooting
|
||||||
# Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,73 +1,71 @@
|
||||||
#+TITLE: lang/cc
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang cc][Issues]] ↖ [[doom-module-source:lang/cc][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0
|
#+TITLE: :lang cc
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: C > C++ == 1
|
||||||
|
#+CREATED: February 20, 2017
|
||||||
|
#+SINCE: 2.0.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#lsp-servers][LSP servers]]
|
|
||||||
- [[#irony-server][irony-server]]
|
|
||||||
- [[#macos][macOS]]
|
|
||||||
- [[#rtags][rtags]]
|
|
||||||
- [[#configure][Configure]]
|
|
||||||
- [[#project-compile-settings][Project compile settings]]
|
|
||||||
- [[#known-issues-with-bear-on-macos][Known issues with bear on macOS]]
|
|
||||||
- [[#configure-lsp-servers][Configure LSP servers]]
|
|
||||||
- [[#lsp-mode-with-clangd][LSP-mode with clangd]]
|
|
||||||
- [[#lsp-mode-with-ccls][LSP-mode with ccls]]
|
|
||||||
- [[#eglot-with-clangd][Eglot with clangd]]
|
|
||||||
- [[#eglot-with-ccls][Eglot with ccls]]
|
|
||||||
- [[#appendix][Appendix]]
|
|
||||||
- [[#eglot-specific-bindings][Eglot specific bindings]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds support for the C-family of languages: C, C++, and Objective-C.
|
This module adds support for the C-family of languages: C, C++, and Objective-C.
|
||||||
|
|
||||||
+ Code completion (~company-irony~)
|
- Code completion (~company-irony~)
|
||||||
+ eldoc support (~irony-eldoc~)
|
- eldoc support (~irony-eldoc~)
|
||||||
+ Syntax-checking (~flycheck-irony~)
|
- Syntax-checking (~flycheck-irony~)
|
||||||
+ Code navigation (~rtags~)
|
- Code navigation (~rtags~)
|
||||||
+ File Templates ([[../../editor/file-templates/templates/c-mode][c-mode]], [[../../editor/file-templates/templates/c++-mode][c++-mode]])
|
- File Templates ([[../../editor/file-templates/templates/c-mode][c-mode]], [[../../editor/file-templates/templates/c++-mode][c++-mode]])
|
||||||
+ Snippets ([[https://github.com/hlissner/doom-snippets/tree/master/cc-mode][cc-mode]], [[https://github.com/hlissner/doom-snippets/tree/master/c-mode][c-mode]], [[https://github.com/hlissner/doom-snippets/tree/master/c++-mode][c++-mode]])
|
- Snippets ([[https://github.com/hlissner/doom-snippets/tree/master/cc-mode][cc-mode]], [[https://github.com/hlissner/doom-snippets/tree/master/c-mode][c-mode]], [[https://github.com/hlissner/doom-snippets/tree/master/c++-mode][c++-mode]])
|
||||||
+ Several improvements to C++11 indentation and syntax highlighting.
|
- Several improvements to C++11 indentation and syntax highlighting.
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ ~+lsp~ Disables irony+rtags and replaces them with LSP (ccls by default). This
|
- [[doom-user:][@hlissner]]
|
||||||
requires the =:tools lsp= module.
|
|
||||||
|
|
||||||
** Plugins
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ [[https://github.com/Kitware/CMake][cmake-mode]]
|
|
||||||
+ [[https://github.com/chachi/cuda-mode][cuda-mode]]
|
** Module flags
|
||||||
+ [[https://github.com/liblit/demangle-mode][demangle-mode]]
|
- +lsp ::
|
||||||
+ [[https://github.com/jart/disaster][disaster]]
|
Enable LSP support for ~c-mode~, ~c++-mode~, and ~objc-mode~. Requires [[doom-module:][:tools
|
||||||
+ [[https://github.com/ludwigpacifici/modern-cpp-font-lock][modern-cpp-font-lock]]
|
lsp]] and a langserver (supports ccls, clangd, and cquery). Replaces irony &
|
||||||
+ [[https://github.com/salmanebah/opencl-mode][opencl-mode]]
|
rtags.
|
||||||
+ [[https://github.com/jimhourihan/glsl-mode][glsl-mode]]*
|
|
||||||
+ [[https://github.com/guidoschmidt/company-glsl][company-glsl]]*
|
** Packages
|
||||||
+ =+lsp=
|
- [[doom-package:][cmake-mode]]
|
||||||
+ [[https://github.com/MaskRay/emacs-ccls][ccls]] if =:tools lsp= has *no* =+eglot= flag
|
- [[doom-package:][company-glsl]]
|
||||||
+ =-lsp=
|
- [[doom-package:][cuda-mode]]
|
||||||
+ [[https://github.com/Sarcasm/irony-mode][irony]]
|
- [[doom-package:][demangle-mode]]
|
||||||
+ [[https://github.com/ikirill/irony-eldoc][irony-eldoc]]
|
- [[doom-package:][disaster]]
|
||||||
+ [[https://github.com/Sarcasm/flycheck-irony][flycheck-irony]]
|
- [[doom-package:][glsl-mode]]
|
||||||
+ [[https://github.com/Sarcasm/company-irony][company-irony]]
|
- [[doom-package:][modern-cpp-font-lock]]
|
||||||
+ [[https://github.com/hotpxl/company-irony-c-headers][company-irony-c-headers]]
|
- [[doom-package:][opencl-mode]]
|
||||||
+ [[https://github.com/Andersbakken/rtags][rtags]]
|
- if [[doom-module:][+lsp]]
|
||||||
+ [[https://github.com/Andersbakken/rtags][ivy-rtags]]
|
- [[doom-package:][ccls]] if [[doom-module:][:tools lsp -eglot]]
|
||||||
+ [[https://github.com/Andersbakken/rtags][helm-rtags]]
|
- else
|
||||||
|
- [[doom-package:][company-irony]]
|
||||||
|
- [[doom-package:][company-irony-c-headers]]
|
||||||
|
- [[doom-package:][flycheck-irony]]
|
||||||
|
- [[doom-package:][helm-rtags]] if [[doom-module:][:completion helm]]
|
||||||
|
- [[doom-package:][irony]]
|
||||||
|
- [[doom-package:][irony-eldoc]]
|
||||||
|
- [[doom-package:][ivy-rtags]] if [[doom-module:][:completion ivy]]
|
||||||
|
- [[doom-package:][rtags]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
This module's requirements change depending on how you use it.
|
This module's requirements change depending on how you use it.
|
||||||
|
|
||||||
+ If =+lsp= is enabled, you need one of *clangd v9+* or *ccls*.
|
- If [[doom-module:][+lsp]] is enabled, you need one of *clangd v9+* or *ccls*.
|
||||||
+ If =+lsp= is *not* enabled, you need *irony-server* and *rtags*.
|
- If [[doom-module:][+lsp]] is *not* enabled, you need *irony-server* and *rtags*.
|
||||||
+ Other features in this module depend on:
|
- Other features in this module depend on:
|
||||||
+ (optional) glslangValidator, for GLSL completion in ~glsl-mode~
|
- (optional) glslangValidator, for GLSL completion in ~glsl-mode~
|
||||||
+ (optional) cmake, for code completion in ~cmake-mode~
|
- (optional) cmake, for code completion in ~cmake-mode~
|
||||||
+ You will need a C/C++ compiler, like =gcc= or =clang=.
|
- You will need a C/C++ compiler, like =gcc= or =clang=.
|
||||||
|
|
||||||
** LSP servers
|
** LSP servers
|
||||||
=lsp-mode= and =eglot= support a few LSP servers, but =clangd= and =ccls= are
|
=lsp-mode= and =eglot= support a few LSP servers, but =clangd= and =ccls= are
|
||||||
|
@ -76,13 +74,13 @@ recommended.
|
||||||
+ clangd (must be v9 or newer) :: clangd is included with =llvm= which should be
|
+ clangd (must be v9 or newer) :: clangd is included with =llvm= which should be
|
||||||
available through your OS' package manager.
|
available through your OS' package manager.
|
||||||
- Linux:
|
- Linux:
|
||||||
- Debian 11 & Ubuntu 20.10: ~# apt-get install clangd-11~
|
- Debian 11 & Ubuntu 20.10: ~$ apt-get install clangd-11~
|
||||||
- 20.04 LTS: [[https://pkgs.org/search/?q=clangd][clangd-10]]
|
- 20.04 LTS: [[https://pkgs.org/search/?q=clangd][clangd-10]]
|
||||||
- Fedora & CentOS/RHEL 8+: ~# dnf install clang-tools-extra~
|
- Fedora & CentOS/RHEL 8+: ~$ dnf install clang-tools-extra~
|
||||||
- openSUSE: ~# zypper install clang~
|
- openSUSE: ~$ zypper install clang~
|
||||||
- Arch: ~# pacman -S clang~
|
- Arch: ~$ pacman -S clang~
|
||||||
- BSDs:
|
- BSDs:
|
||||||
- NetBSD & OpenBSD: ~# pkg_add clang-tools-extra~
|
- NetBSD & OpenBSD: ~$ pkg_add clang-tools-extra~
|
||||||
- macOS: ~$ brew install llvm~ // 1GB+ installation! May take a while!
|
- macOS: ~$ brew install llvm~ // 1GB+ installation! May take a while!
|
||||||
- Windows: use the win64 installer from [[https://releases.llvm.org/download.html][LLVM's GitHub release page]].
|
- Windows: use the win64 installer from [[https://releases.llvm.org/download.html][LLVM's GitHub release page]].
|
||||||
+ ccls :: Available in many OS' package managers as =ccls=. Otherwise, there are
|
+ ccls :: Available in many OS' package managers as =ccls=. Otherwise, there are
|
||||||
|
@ -97,14 +95,13 @@ irony-install-server~ in Emacs.
|
||||||
|
|
||||||
*** macOS
|
*** macOS
|
||||||
Due to linking issues, macOS users must compile irony-server manually:
|
Due to linking issues, macOS users must compile irony-server manually:
|
||||||
|
#+begin_src sh
|
||||||
#+BEGIN_SRC sh
|
|
||||||
brew install cmake
|
brew install cmake
|
||||||
brew install llvm
|
brew install llvm
|
||||||
git clone https://github.com/Sarcasm/irony-mode irony-mode
|
git clone https://github.com/Sarcasm/irony-mode irony-mode
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
#+BEGIN_SRC bash
|
#+begin_src sh
|
||||||
mkdir irony-mode/server/build
|
mkdir irony-mode/server/build
|
||||||
pushd irony-mode/server/build
|
pushd irony-mode/server/build
|
||||||
|
|
||||||
|
@ -121,7 +118,7 @@ install_name_tool -change @rpath/libclang.dylib \
|
||||||
# Cleanup
|
# Cleanup
|
||||||
popd
|
popd
|
||||||
rm -rf irony-mode
|
rm -rf irony-mode
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** rtags
|
** rtags
|
||||||
Code navigation requires an [[https://github.com/Andersbakken/rtags][rtags]] server (~rdm~) installed. This should be
|
Code navigation requires an [[https://github.com/Andersbakken/rtags][rtags]] server (~rdm~) installed. This should be
|
||||||
|
@ -130,12 +127,36 @@ available through your OS's package manager.
|
||||||
This module will auto-start ~rdm~ when you open C/C++ buffers (so long as one
|
This module will auto-start ~rdm~ when you open C/C++ buffers (so long as one
|
||||||
isn't already running). If you prefer to run it yourself:
|
isn't already running). If you prefer to run it yourself:
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
rdm &
|
rdm &
|
||||||
rc -J $PROJECT_ROOT # loads PROJECT_ROOT's compile_commands.json
|
rc -J $PROJECT_ROOT # loads PROJECT_ROOT's compile_commands.json
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
1. Enable this module.
|
||||||
|
2. Enable the ~+lsp~ flag for the appropriate modules you want LSP support for
|
||||||
|
(e.g. ~:lang (python +lsp)~ or ~:lang (rust +lsp)~),
|
||||||
|
3. Install the prerequisite LSP servers through your package manager or other
|
||||||
|
means. You can find a list of supported servers on [[https://github.com/emacs-lsp/lsp-mode#supported-languages][the lsp-mode project page]].
|
||||||
|
4. Run ~$ doom sync~ on the command line and restart Emacs.
|
||||||
|
|
||||||
|
** Eglot-specific bindings
|
||||||
|
When using [[doom-module:][+lsp]] and [[doom-module:][:tools lsp +eglot]], [[doom-package:][lsp-mode]] is replaced with [[doom-package:][eglot]], and an
|
||||||
|
additional function to get inheritance type hierarchy is added:
|
||||||
|
| Binding | Description |
|
||||||
|
|----------------------------+------------------------------------------------|
|
||||||
|
| [[kbd:][<localleader> c t]] | Display inheritance type hierarchy (upwards) |
|
||||||
|
| [[kbd:][<prefix> <localleader> c t]] | Display inheritance type hierarchy (downwards) |
|
||||||
|
|
||||||
|
* TODO Configure
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configure
|
|
||||||
** Project compile settings
|
** Project compile settings
|
||||||
By default, a set of default compile settings are defined in
|
By default, a set of default compile settings are defined in
|
||||||
~+cc-default-compiler-options~ for C, C++ and Objective C. Irony, rtags and
|
~+cc-default-compiler-options~ for C, C++ and Objective C. Irony, rtags and
|
||||||
|
@ -145,16 +166,16 @@ For a more universal solution: both LSP servers and irony will recognize a
|
||||||
[[https://sarcasm.github.io/notes/dev/compilation-database.html#ninja][compilation database]] (a ~compile_commands.json~ file). There are [[https://sarcasm.github.io/notes/dev/compilation-database.html][many ways to
|
[[https://sarcasm.github.io/notes/dev/compilation-database.html#ninja][compilation database]] (a ~compile_commands.json~ file). There are [[https://sarcasm.github.io/notes/dev/compilation-database.html][many ways to
|
||||||
generate one]]. Here is an example using [[http://www.cmake.org/][CMake]] and [[https://github.com/rizsotto/Bear][bear]]:
|
generate one]]. Here is an example using [[http://www.cmake.org/][CMake]] and [[https://github.com/rizsotto/Bear][bear]]:
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
# For CMake projects
|
# For CMake projects
|
||||||
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .
|
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
# For non-CMake projects
|
# For non-CMake projects
|
||||||
make clean
|
make clean
|
||||||
bear make
|
bear make
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
Use ~M-x +cc/reload-compile-db~ to reload your compile db in an already-open
|
Use ~M-x +cc/reload-compile-db~ to reload your compile db in an already-open
|
||||||
C/C++/ObjC buffer.
|
C/C++/ObjC buffer.
|
||||||
|
@ -164,7 +185,6 @@ MacOS' [[https://support.apple.com/en-us/HT204899][System Integrity Protection (
|
||||||
under ~/usr/bin/~ which results in an empty compilation database.
|
under ~/usr/bin/~ which results in an empty compilation database.
|
||||||
|
|
||||||
From the bear [[https://github.com/rizsotto/Bear#empty-compilation-database-on-os-x-captain-or-fedora][readme]]:
|
From the bear [[https://github.com/rizsotto/Bear#empty-compilation-database-on-os-x-captain-or-fedora][readme]]:
|
||||||
|
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
Security extension/modes on different operating systems might disable library
|
Security extension/modes on different operating systems might disable library
|
||||||
preloads. This case Bear behaves normally, but the result compilation database
|
preloads. This case Bear behaves normally, but the result compilation database
|
||||||
|
@ -182,77 +202,76 @@ such tool might be scan-build. The build system shall respect CC and CXX
|
||||||
environment variables.
|
environment variables.
|
||||||
#+end_quote
|
#+end_quote
|
||||||
|
|
||||||
A workaround might be to install ~make~ via Homebrew which puts ~gmake~
|
A workaround might be to install ~make~ via Homebrew which puts ~gmake~ under
|
||||||
under ~/usr/local/~.
|
=/usr/local/=:
|
||||||
|
#+begin_src sh
|
||||||
#+BEGIN_SRC sh
|
|
||||||
brew install make
|
brew install make
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
#+begin_src sh
|
||||||
#+BEGIN_SRC sh
|
|
||||||
make clean
|
make clean
|
||||||
bear gmake
|
bear gmake
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
Additional info:
|
Additional info:
|
||||||
+ [[https://github.com/rizsotto/Bear/issues/158][Empty compilation database with compiler in /usr/local]]
|
- [[https://github.com/rizsotto/Bear/issues/158][Empty compilation database with compiler in /usr/local]]
|
||||||
+ [[https://github.com/rizsotto/Bear/issues/152][Workaround for 'Empty compilation database on OS X Captain]]
|
- [[https://github.com/rizsotto/Bear/issues/152][Workaround for 'Empty compilation database on OS X Captain]]
|
||||||
|
|
||||||
** Configure LSP servers
|
** Configure LSP servers
|
||||||
Search for your combination of =(LSP client package, LSP server)=. You are using
|
Search for your combination of =(LSP client package, LSP server)=. You are using
|
||||||
=LSP-mode= by default, =eglot= if you have =:tools (lsp +eglot)= active in your
|
[[doom-package:][lsp-mode]] by default, [[doom-package:][eglot]] if you have [[doom-module:][:tools lsp +eglot]] active in
|
||||||
=init.el= file.
|
=$DOOMDIR/init.el= file.
|
||||||
|
|
||||||
*** LSP-mode with clangd
|
*** LSP-mode with clangd
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(after! lsp-clangd
|
||||||
|
(setq lsp-clients-clangd-args
|
||||||
|
'("-j=3"
|
||||||
|
"--background-index"
|
||||||
|
"--clang-tidy"
|
||||||
|
"--completion-style=detailed"
|
||||||
|
"--header-insertion=never"
|
||||||
|
"--header-insertion-decorators=0"))
|
||||||
|
(set-lsp-priority! 'clangd 2))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
This will both set your clangd flags and choose =clangd= as the default LSP
|
||||||
(setq lsp-clients-clangd-args '("-j=3"
|
server everywhere clangd can be used.
|
||||||
"--background-index"
|
|
||||||
"--clang-tidy"
|
|
||||||
"--completion-style=detailed"
|
|
||||||
"--header-insertion=never"
|
|
||||||
"--header-insertion-decorators=0"))
|
|
||||||
(after! lsp-clangd (set-lsp-priority! 'clangd 2))
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
This will both set your clangd flags and choose =clangd= as the default LSP server everywhere clangd can be used.
|
|
||||||
|
|
||||||
*** LSP-mode with ccls
|
*** LSP-mode with ccls
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
|
||||||
(after! ccls
|
(after! ccls
|
||||||
(setq ccls-initialization-options '(:index (:comments 2) :completion (:detailedLabel t)))
|
(setq ccls-initialization-options '(:index (:comments 2) :completion (:detailedLabel t)))
|
||||||
(set-lsp-priority! 'ccls 2)) ; optional as ccls is the default in Doom
|
(set-lsp-priority! 'ccls 2)) ; optional as ccls is the default in Doom
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
This will both set your ccls flags and choose ccls as the default server. [[https://github.com/MaskRay/ccls/wiki/Customization#--initjson][CCLS
|
This will both set your ccls flags and choose ccls as the default server. [[https://github.com/MaskRay/ccls/wiki/Customization#--initjson][CCLS
|
||||||
documentation]] lists available options, use =t= for ~true~, =:json-false= for
|
documentation]] lists available options, use =t= for ~true~, =:json-false= for
|
||||||
~false~, and =:json-null= for ~null~.
|
~false~, and =:json-null= for ~null~.
|
||||||
|
|
||||||
*** Eglot with clangd
|
*** Eglot with clangd
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
|
||||||
(set-eglot-client! 'cc-mode '("clangd" "-j=3" "--clang-tidy"))
|
(set-eglot-client! 'cc-mode '("clangd" "-j=3" "--clang-tidy"))
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
This will both set your clangd flags and choose clangd as the default server (if
|
This will both set your clangd flags and choose clangd as the default server (if
|
||||||
it is the last =set-eglot-client! 'cc-mode= in your config).
|
it is the last =set-eglot-client! 'cc-mode= in your config).
|
||||||
|
|
||||||
*** Eglot with ccls
|
*** Eglot with ccls
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
|
||||||
(set-eglot-client! 'cc-mode '("ccls" "--init={\"index\": {\"threads\": 3}}"))
|
(set-eglot-client! 'cc-mode '("ccls" "--init={\"index\": {\"threads\": 3}}"))
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
This will both set your ccls flags and choose ccls as the default server (if it
|
This will both set your ccls flags and choose ccls as the default server (if it
|
||||||
is the last =set-eglot-client! 'cc-mode= in your config). [[https://github.com/MaskRay/ccls/wiki/Customization#--initjson][CCLS documentation]]
|
is the last =set-eglot-client! 'cc-mode= in your config). [[https://github.com/MaskRay/ccls/wiki/Customization#--initjson][CCLS documentation]]
|
||||||
lists available options
|
lists available options
|
||||||
|
|
||||||
* Appendix
|
* Troubleshooting
|
||||||
** Eglot specific bindings
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
When using =+lsp= and =:tools (lsp +eglot)=, lsp-mode is replaced with eglot,
|
|
||||||
and an additional function to get inheritance type hierarchy is added
|
* Frequently asked questions
|
||||||
| Binding | Description |
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|------------------------------+--------------------------------------------------|
|
|
||||||
| ~<localleader> c t~ | ~Display inheritance type hierarchy (upwards)~ |
|
* TODO Appendix
|
||||||
| ~<prefix> <localleader> c t~ | ~Display inheritance type hierarchy (downwards)~ |
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,115 +1,122 @@
|
||||||
#+TITLE: lang/clojure
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang clojure][Issues]] ↖ [[doom-module-source:lang/clojure][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: May 30, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0
|
#+TITLE: :lang clojure
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: Java with a lisp
|
||||||
|
#+CREATED: May 30, 2017
|
||||||
|
#+SINCE: 2.0.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#keybindings][Keybindings]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds support for the Clojure(Script) language.
|
This module adds support for the Clojure(Script) language.
|
||||||
|
|
||||||
+ Interactive development environment (~cider~): REPL, compilation, debugging,
|
- Interactive development environment (~cider~): REPL, compilation, debugging,
|
||||||
running tests, definitions & documentation lookup, code completion, and much
|
running tests, definitions & documentation lookup, code completion, and much
|
||||||
more
|
more
|
||||||
+ Refactoring (~clj-refactor~)
|
- Refactoring (~clj-refactor~)
|
||||||
+ Linting (~clj-kondo~), requires ~:checkers syntax~
|
- Linting (~clj-kondo~), requires ~:checkers syntax~
|
||||||
+ LSP support (~clojure-lsp~)
|
- LSP support (~clojure-lsp~)
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ =+lsp= Enables LSP support, alongside Cider.
|
- +lsp ::
|
||||||
|
Enable LSP support for ~clojure-mode~ (alongside Cider). Requires [[doom-module:][:tools lsp]]
|
||||||
|
and a langserver (supports [[https://clojure-lsp.io/][clojure-lsp]]).
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/clojure-emacs/cider][cider]]
|
- [[doom-package:][cider]]
|
||||||
+ [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]]
|
- [[doom-package:][clj-refactor]]
|
||||||
+ [[https://github.com/borkdude/flycheck-clj-kondo][flycheck-clj-kondo]]
|
- [[doom-package:][flycheck-clj-kondo]] if [[doom-module:][:checkers syntax]]
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
+ Error messages emitted from CIDER are piped into the REPL buffer when it is
|
- Error messages emitted from CIDER are piped into the REPL buffer when it is
|
||||||
first opened, to make them easier to notice.
|
first opened, to make them easier to notice.
|
||||||
+ Disabled the help banner when opening the cider REPL.
|
- Disabled the help banner when opening the cider REPL.
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
This module requires:
|
This module requires:
|
||||||
|
- [[https://clojure.org/][clojure]]
|
||||||
|
- [[https://leiningen.org/][leiningen]], for the REPL
|
||||||
|
- [[https://github.com/borkdude/clj-kondo][clj-kondo]], for linting code
|
||||||
|
- [[https://clojure-lsp.github.io/clojure-lsp/][clojure-lsp]], for LSP support (if [[doom-module:][+lsp]])
|
||||||
|
|
||||||
+ [[https://clojure.org/][clojure]]
|
* TODO Usage
|
||||||
+ [[https://leiningen.org/][leiningen]] (REPL)
|
#+begin_quote
|
||||||
+ [[https://github.com/borkdude/clj-kondo][clj-kondo]] (linter)
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
+ With =+lsp=
|
#+end_quote
|
||||||
+ [[https://clojure-lsp.github.io/clojure-lsp/][clojure-lsp]]
|
|
||||||
|
|
||||||
|
| Keybind | Command |
|
||||||
* TODO Features
|
|-------------------+------------------------------------------------------|
|
||||||
# An in-depth list of features, how to use them, and their dependencies.
|
| [[kbd:][<localleader> ']] | ~cider-jack-in-clj~ |
|
||||||
** Keybindings
|
| [[kbd:][<localleader> C]] | ~cider-connect-cljs~ |
|
||||||
| Binding | Description |
|
| [[kbd:][<localleader> M]] | ~cider-macroexpand-all~ |
|
||||||
|---------------------+------------------------------------------------------|
|
| [[kbd:][<localleader> R]] | ~hydra-cljr-help-menu/body~ |
|
||||||
| =<localleader> '= | =cider-jack-in-clj= |
|
| [[kbd:][<localleader> c]] | ~cider-connect-clj~ |
|
||||||
| =<localleader> C= | =cider-connect-cljs= |
|
| [[kbd:][<localleader> e D]] | ~cider-insert-defun-in-repl~ |
|
||||||
| =<localleader> M= | =cider-macroexpand-all= |
|
| [[kbd:][<localleader> e E]] | ~cider-insert-last-sexp-in-repl~ |
|
||||||
| =<localleader> R= | =hydra-cljr-help-menu/body= |
|
| [[kbd:][<localleader> e R]] | ~cider-insert-region-in-repl~ |
|
||||||
| =<localleader> c= | =cider-connect-clj= |
|
| [[kbd:][<localleader> e b]] | ~cider-eval-buffer~ |
|
||||||
| =<localleader> e D= | =cider-insert-defun-in-repl= |
|
| [[kbd:][<localleader> e d]] | ~cider-eval-defun-at-point~ |
|
||||||
| =<localleader> e E= | =cider-insert-last-sexp-in-repl= |
|
| [[kbd:][<localleader> e e]] | ~cider-eval-last-sexp~ |
|
||||||
| =<localleader> e R= | =cider-insert-region-in-repl= |
|
| [[kbd:][<localleader> e r]] | ~cider-eval-region~ |
|
||||||
| =<localleader> e b= | =cider-eval-buffer= |
|
| [[kbd:][<localleader> e u]] | ~cider-undef~ |
|
||||||
| =<localleader> e d= | =cider-eval-defun-at-point= |
|
| [[kbd:][<localleader> g b]] | ~cider-pop-back~ |
|
||||||
| =<localleader> e e= | =cider-eval-last-sexp= |
|
| [[kbd:][<localleader> g g]] | ~cider-find-var~ |
|
||||||
| =<localleader> e r= | =cider-eval-region= |
|
| [[kbd:][<localleader> g n]] | ~cider-find-ns~ |
|
||||||
| =<localleader> e u= | =cider-undef= |
|
| [[kbd:][<localleader> h a]] | ~cider-apropos~ |
|
||||||
| =<localleader> g b= | =cider-pop-back= |
|
| [[kbd:][<localleader> h c]] | ~cider-clojuredocs~ |
|
||||||
| =<localleader> g g= | =cider-find-var= |
|
| [[kbd:][<localleader> h d]] | ~cider-doc~ |
|
||||||
| =<localleader> g n= | =cider-find-ns= |
|
| [[kbd:][<localleader> h j]] | ~cider-javadoc~ |
|
||||||
| =<localleader> h a= | =cider-apropos= |
|
| [[kbd:][<localleader> h n]] | ~cider-find-ns~ |
|
||||||
| =<localleader> h c= | =cider-clojuredocs= |
|
| [[kbd:][<localleader> h w]] | ~cider-clojuredocs-web~ |
|
||||||
| =<localleader> h d= | =cider-doc= |
|
| [[kbd:][<localleader> i e]] | ~cider-enlighten-mode~ |
|
||||||
| =<localleader> h j= | =cider-javadoc= |
|
| [[kbd:][<localleader> i i]] | ~cider-inspect~ |
|
||||||
| =<localleader> h n= | =cider-find-ns= |
|
| [[kbd:][<localleader> i r]] | ~cider-inspect-last-result~ |
|
||||||
| =<localleader> h w= | =cider-clojuredocs-web= |
|
| [[kbd:][<localleader> m "]] | ~cider-jack-in-cljs~ |
|
||||||
| =<localleader> i e= | =cider-enlighten-mode= |
|
| [[kbd:][<localleader> m]] | ~cider-macroexpand-1~ |
|
||||||
| =<localleader> i i= | =cider-inspect= |
|
| [[kbd:][<localleader> n N]] | ~cider-browse-ns-all~ |
|
||||||
| =<localleader> i r= | =cider-inspect-last-result= |
|
| [[kbd:][<localleader> n n]] | ~cider-browse-ns~ |
|
||||||
| =<localleader> m "= | =cider-jack-in-cljs= |
|
| [[kbd:][<localleader> n r]] | ~cider-ns-refresh~ |
|
||||||
| =<localleader> m= | =cider-macroexpand-1= |
|
| [[kbd:][<localleader> p d]] | ~cider-pprint-eval-defun-at-point~ |
|
||||||
| =<localleader> n N= | =cider-browse-ns-all= |
|
| [[kbd:][<localleader> p D]] | ~cider-pprint-eval-defun-to-comment~ |
|
||||||
| =<localleader> n n= | =cider-browse-ns= |
|
| [[kbd:][<localleader> p p]] | ~cider-pprint-eval-last-sexp~ |
|
||||||
| =<localleader> n r= | =cider-ns-refresh= |
|
| [[kbd:][<localleader> p P]] | ~cider-pprint-eval-last-sexp-to-comment~ |
|
||||||
| =<localleader> p d= | =cider-pprint-eval-defun-at-point= |
|
| [[kbd:][<localleader> p r]] | ~cider-pprint-eval-last-sexp-to-repl~ |
|
||||||
| =<localleader> p D= | =cider-pprint-eval-defun-to-comment= |
|
| [[kbd:][<localleader> r B]] | ~+clojure/cider-switch-to-repl-buffer-and-switch-ns~ |
|
||||||
| =<localleader> p p= | =cider-pprint-eval-last-sexp= |
|
| [[kbd:][<localleader> r L]] | ~cider-load-buffer-and-switch-to-repl-buffer~ |
|
||||||
| =<localleader> p P= | =cider-pprint-eval-last-sexp-to-comment= |
|
| [[kbd:][<localleader> r R]] | ~cider-restart~ |
|
||||||
| =<localleader> p r= | =cider-pprint-eval-last-sexp-to-repl= |
|
| [[kbd:][<localleader> r b]] | ~cider-switch-to-repl-buffer~ |
|
||||||
| =<localleader> r B= | =+clojure/cider-switch-to-repl-buffer-and-switch-ns= |
|
| [[kbd:][<localleader> r c]] | ~cider-find-and-clear-repl-output~ |
|
||||||
| =<localleader> r L= | =cider-load-buffer-and-switch-to-repl-buffer= |
|
| [[kbd:][<localleader> r l]] | ~cider-load-buffer~ |
|
||||||
| =<localleader> r R= | =cider-restart= |
|
| [[kbd:][<localleader> r n]] | ~cider-repl-set-ns~ |
|
||||||
| =<localleader> r b= | =cider-switch-to-repl-buffer= |
|
| [[kbd:][<localleader> r q]] | ~cider-quit~ |
|
||||||
| =<localleader> r c= | =cider-find-and-clear-repl-output= |
|
| [[kbd:][<localleader> r r]] | ~cider-ns-refresh~ |
|
||||||
| =<localleader> r l= | =cider-load-buffer= |
|
| [[kbd:][<localleader> t a]] | ~cider-test-rerun-test~ |
|
||||||
| =<localleader> r n= | =cider-repl-set-ns= |
|
| [[kbd:][<localleader> t l]] | ~cider-test-run-loaded-tests~ |
|
||||||
| =<localleader> r q= | =cider-quit= |
|
| [[kbd:][<localleader> t n]] | ~cider-test-run-ns-tests~ |
|
||||||
| =<localleader> r r= | =cider-ns-refresh= |
|
| [[kbd:][<localleader> t p]] | ~cider-test-run-project-tests~ |
|
||||||
| =<localleader> t a= | =cider-test-rerun-test= |
|
| [[kbd:][<localleader> t r]] | ~cider-test-rerun-failed-tests~ |
|
||||||
| =<localleader> t l= | =cider-test-run-loaded-tests= |
|
| [[kbd:][<localleader> t s]] | ~cider-test-run-ns-tests-with-filters~ |
|
||||||
| =<localleader> t n= | =cider-test-run-ns-tests= |
|
| [[kbd:][<localleader> t t]] | ~cider-test-run-test~ |
|
||||||
| =<localleader> t p= | =cider-test-run-project-tests= |
|
|
||||||
| =<localleader> t r= | =cider-test-rerun-failed-tests= |
|
|
||||||
| =<localleader> t s= | =cider-test-run-ns-tests-with-filters= |
|
|
||||||
| =<localleader> t t= | =cider-test-run-test= |
|
|
||||||
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
# How to configure this module, including common problems and how to address them.
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Troubleshooting
|
* Troubleshooting
|
||||||
# Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,22 +1,12 @@
|
||||||
#+TITLE: lang/common-lisp
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang common-lisp][Issues]] ↖ [[doom-module-source:lang/common-lisp][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: June 13, 2018
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0
|
#+TITLE: :lang common-lisp
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: If you've seen one lisp, you've seen them all
|
||||||
|
#+CREATED: June 13, 2018
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module provides support for [[https://lisp-lang.org/][Common Lisp]] and the [[doom-package:][Sly]] development
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#sly][Sly]]
|
|
||||||
- [[#org-mode][org-mode]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
|
|
||||||
This module provides support for [[https://lisp-lang.org/][Common Lisp]] and the [[https://github.com/joaotavora/sly][Sly]] development
|
|
||||||
environment. Common Lisp is not a single language but a specification, with many
|
environment. Common Lisp is not a single language but a specification, with many
|
||||||
competing compiler implementations. By default, [[http://www.sbcl.org/][Steel Bank Common Lisp]] (SBCL) is
|
competing compiler implementations. By default, [[http://www.sbcl.org/][Steel Bank Common Lisp]] (SBCL) is
|
||||||
assumed to be installed, but this can be configured.
|
assumed to be installed, but this can be configured.
|
||||||
|
@ -27,45 +17,65 @@ style often unseen in other languages. Compiled Common Lisp programs are trusted
|
||||||
to run unmodified for a long time.
|
to run unmodified for a long time.
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
This module has no dedicated maintainers.
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
** Module Flags
|
** Packages
|
||||||
|
- [[doom-package:][sly]]
|
||||||
|
- [[doom-package:][sly-macrostep]]
|
||||||
|
- [[doom-package:][sly-repl-ansi-color]]
|
||||||
|
|
||||||
This module provides no flags.
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
** Plugins
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
+ [[https://github.com/joaotavora/sly][sly]]
|
* Installation
|
||||||
+ [[https://github.com/joaotavora/sly-macrostep][sly-macrostep]]
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
+ [[https://github.com/PuercoPop/sly-repl-ansi-color][sly-repl-ansi-color]]
|
|
||||||
|
|
||||||
* Prerequisites
|
This module requires [[http://www.sbcl.org/][SBCL]].
|
||||||
|
|
||||||
This module requires the [[http://www.sbcl.org/][SBCL]] compiler to be installed.
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Features
|
This module does not integrate with [[doom-module:][:tools lsp]]. Sly (and SLIME before it) is
|
||||||
|
|
||||||
This module does not integrate with the =lsp= module. Sly (and SLIME before it) is
|
|
||||||
considered the defacto development environment for Common Lisp and provides much
|
considered the defacto development environment for Common Lisp and provides much
|
||||||
of what is normally expected of an LSP, plus tight integration with the REPL and
|
of what is normally expected of an LSP, plus tight integration with the REPL and
|
||||||
Emacs.
|
Emacs.
|
||||||
|
|
||||||
** Sly
|
** Sly
|
||||||
|
|
||||||
Using this module is mostly a matter of using Sly. Please consider reading
|
Using this module is mostly a matter of using Sly. Please consider reading
|
||||||
through [[http://joaotavora.github.io/sly/#A-SLY-tour-for-SLIME-users][the Sly Tour]].
|
through [[http://joaotavora.github.io/sly/#A-SLY-tour-for-SLIME-users][the Sly Tour]].
|
||||||
|
|
||||||
A Sly session will be started when you open a =.lisp= file. Use =SPC m '= to switch
|
A Sly session will be started when you open a =.lisp= file. Use [[kbd:][<localleader> ']]
|
||||||
to the REPL minibuffer.
|
to switch to the REPL minibuffer.
|
||||||
|
|
||||||
** org-mode
|
** org-mode
|
||||||
|
|
||||||
This module also enables the evaluation of =lisp= source blocks in Org Mode.
|
This module also enables the evaluation of =lisp= source blocks in Org Mode.
|
||||||
However, you will need a running Sly session for this to work. =M-x sly= starts
|
However, you will need a running Sly session for this to work. ~M-x sly~ starts
|
||||||
such a session if you didn't have one open already.
|
such a session if you didn't have one open already.
|
||||||
|
|
||||||
* Configuration
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
If you don't want Sly to use SBCL, you can configure the variable
|
If you don't want Sly to use SBCL, you can configure the variable
|
||||||
~inferior-lisp-program~ to some other binary on your PATH.
|
~inferior-lisp-program~ to some other binary on your PATH.
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,6 +1,57 @@
|
||||||
#+TITLE: :lang coq
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang coq][Issues]] ↖ [[doom-module-source:lang/coq][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang coq
|
||||||
|
#+SUBTITLE: Proofs as programs
|
||||||
|
#+CREATED: August 27, 2018
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
This module adds [[https://coq.inria.fr][coq]] support, powered by [[https://proofgeneral.github.io][Proof General]].
|
This module adds [[https://coq.inria.fr][coq]] support, powered by [[https://proofgeneral.github.io][Proof General]].
|
||||||
|
|
||||||
+ Code completion ([[https://github.com/cpitclaudel/company-coq][company-coq]])
|
- Code completion ([[https://github.com/cpitclaudel/company-coq][company-coq]])
|
||||||
+ [[https://github.com/hlissner/doom-snippets/tree/master/coq-mode][Snippets]]
|
- [[https://github.com/hlissner/doom-snippets/tree/master/coq-mode][Snippets]]
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][proof-general]]
|
||||||
|
- [[doom-package:][company-coq]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's prerequisites are not documented./ [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,62 +1,67 @@
|
||||||
#+TITLE: lang/crystal
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang crystal][Issues]] ↖ [[doom-module-source:lang/crystal][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v1.3
|
#+TITLE: :lang crystal
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: Ruby at the speed of c
|
||||||
|
#+CREATED: January 16, 2017
|
||||||
|
#+SINCE: 1.3
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#crystal][Crystal]]
|
|
||||||
- [[#macos][MacOS]]
|
|
||||||
- [[#arch][Arch]]
|
|
||||||
- [[#icr-repl][ICR (REPL)]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This modules adds [[https://crystal-lang.org/][crystal]] support.
|
This modules adds [[https://crystal-lang.org/][crystal]] support.
|
||||||
|
|
||||||
+ Syntax-checking (~flycheck~)
|
- Syntax-checking (~flycheck~)
|
||||||
+ REPL (~inf-crystal~)
|
- REPL (~inf-crystal~)
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
This module has no dedicated maintainers.
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
This module provides no flags.
|
/This module has no flags./
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/crystal-lang-tools/emacs-crystal-mode/][crystal-mode]]
|
- [[doom-package:][crystal-mode]]
|
||||||
+ [[https://github.com/brantou/inf-crystal.el/][inf-crystal]]
|
- [[doom-package:][inf-crystal]]
|
||||||
+ if ~:checkers syntax~ is enabled
|
- if [[doom-module:][:checkers syntax]]
|
||||||
- [[https://github.com/crystal-lang-tools/emacs-crystal-mode/][flycheck-crystal]]
|
- [[doom-package:][flycheck-ameba]]
|
||||||
- [[https://github.com/crystal-ameba/ameba.el/][flycheck-ameba]]
|
- [[doom-package:][flycheck-crystal]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires:
|
||||||
|
- [[https://crystal-lang.org/install/][The crystal compiler]]
|
||||||
|
- [[https://github.com/crystal-community/icr][ICR]], for the REPL
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
** Crystal
|
** Crystal
|
||||||
you need to install [[https://crystal-lang.org/install/][the crystal compiler]].
|
- MacOS: ~$ brew install crystal~
|
||||||
|
- Arch Linux: ~$ pacman -S crystal shards~
|
||||||
*** MacOS
|
|
||||||
#+begin_src shell
|
|
||||||
brew install crystal
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** Arch
|
|
||||||
#+begin_src shell
|
|
||||||
sudo pacman -S crystal shards
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
** ICR (REPL)
|
** ICR (REPL)
|
||||||
you need to install [[https://github.com/crystal-community/icr][ICR]].
|
[[https://github.com/crystal-community/icr#installation][Installation instructions]].
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Features
|
|
||||||
# An in-depth list of features, how to use them, and their dependencies.
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
# How to configure this module, including common problems and how to address them.
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Troubleshooting
|
* Troubleshooting
|
||||||
# Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,43 +1,76 @@
|
||||||
#+TITLE: :lang csharp
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang csharp][Issues]] ↖ [[doom-module-source:lang/csharp][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang csharp
|
||||||
|
#+SUBTITLE: Unity, .NET, and mono shenanigans
|
||||||
|
#+CREATED: February 19, 2019
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds C# support to Emacs, powered by Omnisharp (directly or through
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#macos][MacOS]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#nixos][NixOS]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds C# support to Emacs. Powered by omnisharp (directly or through
|
|
||||||
LSP).
|
LSP).
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ =+lsp= Enables omnisharp through LSP support (requires omnisharp).
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ =+unity= Enables special support for the [[https://unity.com/][Unity game engine]] (particularly,
|
|
||||||
support for HLSL shaders).
|
|
||||||
+ =+dotnet= Enables Dotnet transient interface with Sharper
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/josteink/csharp-mode][csharp-mode]]
|
- +dotnet ::
|
||||||
+ [[https://github.com/omajid/csproj-mode][csproj-mode]]
|
Enable Dotnet transient interface with Sharper
|
||||||
+ [[https://github.com/OmniSharp/omnisharp-emacs][omnisharp]]* (not =+lsp=)
|
- +lsp ::
|
||||||
+ [[https://github.com/midnightSuyama/shader-mode][shader-mode]]* (=+unity=)
|
Enable LSP support for ~csharp-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
+ [[https://github.com/sebasmonia/sharper][sharper]] (=+dotnet=)
|
(supports =omnisharp-roslyn=).
|
||||||
|
- +unity ::
|
||||||
|
Enable special support for the [[https://unity.com/][Unity game engine]] (particularly, support for
|
||||||
|
HLSL shaders).
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][csharp-mode]]
|
||||||
|
- [[doom-package:][csproj-mode]]
|
||||||
|
- [[doom-package:][shader-mode]] if [[doom-module:][+unity]]
|
||||||
|
- [[doom-package:][sharper]] if [[doom-module:][+dotnet]]
|
||||||
|
- [[doom-package:][sln-mode]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
This module needs:
|
/No hacks documented for this module./
|
||||||
|
|
||||||
+ omnisharp (with the ~+lsp~ flag, this must be installed externally. Without
|
** TODO Changelog
|
||||||
it, use ~M-x omnisharp-install-server~)
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
+ .NET SDKs (on Windows)
|
/This module does not have a changelog yet./
|
||||||
+ Mono (on UNIX platforms)
|
|
||||||
+ .NET Core 1.X - 3.X or .NET 5 for cross platform
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires:
|
||||||
|
- Mono (on UNIX platforms)
|
||||||
|
- .NET SDKs (on Windows)
|
||||||
|
- .NET Core 1.X - 3.X or .NET 5 for cross platform
|
||||||
|
- omnisharp-rosyln (if [[doom-module:][+lsp]])
|
||||||
|
|
||||||
** TODO MacOS
|
** TODO MacOS
|
||||||
|
|
||||||
** Arch Linux
|
** Arch Linux
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
sudo pacman --needed --noconfirm -S mono
|
pacman --needed --noconfirm -S mono
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** TODO NixOS
|
** TODO NixOS
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,47 +1,48 @@
|
||||||
#+TITLE: lang/dart
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang dart][Issues]] ↖ [[doom-module-source:lang/dart][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: February 16, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v3.0.0
|
#+TITLE: :lang dart
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: Paint ui and not much else
|
||||||
|
#+CREATED: February 16, 2020
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
[[https://dart.dev/][Dart]] is a client-optimized language by Google for fast apps on any platform. It
|
||||||
- [[#maintainers][Maintainers]]
|
is fast and optimized for UI, famous for the [[https://flutter.io/][Flutter]] framework, also made by
|
||||||
- [[#module-flags][Module Flags]]
|
Google. Both Flutter and Dart are free and open-source.
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#installing-dart-sdk][Installing Dart SDK]]
|
|
||||||
- [[#installing-flutter-sdk][Installing Flutter SDK]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#dart--flutter][Dart & Flutter]]
|
|
||||||
- [[#android][Android]]
|
|
||||||
- [[#flutter-mobile-development-on-desktop][Flutter mobile development on desktop]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
This module wraps ~dart-mode~, with [[https://microsoft.github.io/language-server-protocol/][LSP]] features like code completion for
|
||||||
[[https://dart.dev/][Dart]] is a client-optimized language by Google for fast apps on any platform.
|
=.dart= files, syntax highlighting, debugging, closing labels, etc.
|
||||||
It is fast and optimized for UI, famous for the [[https://flutter.io/][Flutter]] framework, also
|
|
||||||
made by Google. Both Flutter and Dart are free and open-source.
|
|
||||||
|
|
||||||
This module wraps ~dart-mode~, with [[https://microsoft.github.io/language-server-protocol/][LSP]] features like code completion for =.dart= files,
|
|
||||||
syntax highlighting, debugging, closing labels, etc.
|
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
+ [[https://github.com/ericdallo][@ericdallo]]
|
- [[doom-user:][@ericdallo]]
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ =+lsp= Enable LSP server integration.
|
|
||||||
+ =+flutter= Adds ~flutter~ integration and some sane defaults for Flutter
|
|
||||||
development along with ~hover~ for desktop development.
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/bradyt/dart-mode][dart-mode]]
|
- +flutter ::
|
||||||
+ [[https://github.com/amake/flutter.el][flutter.el]]
|
Enable ~flutter~ integration and some sane defaults for Flutter development
|
||||||
+ [[https://github.com/ericdallo/hover.el][hover.el]]
|
along with ~hover~ for desktop development.
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support for ~dart-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports flutter).
|
||||||
|
|
||||||
* Prerequisites
|
** Packages
|
||||||
Make sure that the Dart SDK is on your ~PATH~, and if using Flutter, make sure
|
- [[doom-package:][dart-mode]]
|
||||||
the Flutter binary is on your ~PATH~ as well.
|
- [[doom-package:][flutter.el]]
|
||||||
|
- [[doom-package:][hover.el]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
Make sure that the Dart SDK is on your =$PATH=, and if using Flutter, make sure
|
||||||
|
the Flutter binary is on your =$PATH= as well.
|
||||||
|
|
||||||
** Installing Dart SDK
|
** Installing Dart SDK
|
||||||
Before starting note that Flutter SDK will have a version of Dart. Therefore,
|
Before starting note that Flutter SDK will have a version of Dart. Therefore,
|
||||||
|
@ -52,23 +53,23 @@ The stable version of the SDK is in most major distributions repositories.
|
||||||
If you find it necessary to install any other version or build from source,
|
If you find it necessary to install any other version or build from source,
|
||||||
please refer to the official website at: https://dart.dev/get-dart
|
please refer to the official website at: https://dart.dev/get-dart
|
||||||
|
|
||||||
+ *On Debian (also Ubuntu and its derivations):*
|
- *On Debian (also Ubuntu and its derivations):*
|
||||||
#+BEGIN_SRC shell
|
#+begin_src sh
|
||||||
sudo apt-get install dart
|
apt-get install dart
|
||||||
#+END_SRC
|
#+end_src
|
||||||
+ *On Arch Linux (and derivations like Manjaro):*
|
- *On Arch Linux (and derivations like Manjaro):*
|
||||||
#+BEGIN_SRC shell
|
#+begin_src sh
|
||||||
sudo pacman -S dart
|
pacman -S dart
|
||||||
#+END_SRC
|
#+end_src
|
||||||
+ *On macOS*:
|
- *On macOS*:
|
||||||
#+BEGIN_SRC shell
|
#+begin_src sh
|
||||||
brew tap dart-lang/dart
|
brew tap dart-lang/dart
|
||||||
brew install dart
|
brew install dart
|
||||||
#+END_SRC
|
#+end_src
|
||||||
+ *On NixOS*:
|
- *On NixOS*:
|
||||||
#+BEGIN_SRC shell
|
#+begin_src sh
|
||||||
nix-env -iA nixpkgs.dart
|
nix-env -iA nixpkgs.dart
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Installing Flutter SDK
|
** Installing Flutter SDK
|
||||||
Due to complications with permissions, it is suggested not to use AUR or any
|
Due to complications with permissions, it is suggested not to use AUR or any
|
||||||
|
@ -77,22 +78,30 @@ automatic installation tools for Flutter SDK.
|
||||||
On any system just run the following commands to install Flutter, once you have
|
On any system just run the following commands to install Flutter, once you have
|
||||||
met dependencies named on [[https://flutter.dev/docs/get-started/install/][the site]]:
|
met dependencies named on [[https://flutter.dev/docs/get-started/install/][the site]]:
|
||||||
|
|
||||||
#+BEGIN_SRC shell
|
#+begin_src sh
|
||||||
git clone https://github.com/flutter/flutter --branch stable # to download Flutter
|
git clone https://github.com/flutter/flutter --branch stable # to download Flutter
|
||||||
export PATH="$PATH:$(pwd)/flutter/bin" # to add it to PATH
|
export PATH="$PATH:$(pwd)/flutter/bin" # to add it to PATH
|
||||||
flutter doctor # for Dependency check and further instructions
|
flutter doctor # for Dependency check and further instructions
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
* Features
|
* TODO Usage
|
||||||
+ Syntax highlighting and formatting for ~.dart~ files provided by LSP
|
#+begin_quote
|
||||||
+ Auto import
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
+ Widget guide lines for Flutter
|
#+end_quote
|
||||||
+ Closing labels for constructors
|
|
||||||
+ Run tests interactively
|
- Syntax highlighting and formatting for ~.dart~ files provided by LSP.
|
||||||
+ Outline support via ~lsp-treemacs~
|
- Auto import.
|
||||||
+ Emacs functions for running and debugging Flutter projects
|
- Widget guide lines for Flutter.
|
||||||
|
- Closing labels for constructors.
|
||||||
|
- Run tests interactively.
|
||||||
|
- Outline support via [[doom-package:][lsp-treemacs]].
|
||||||
|
- Emacs functions for running and debugging Flutter projects.
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
|
||||||
** Dart & Flutter
|
** Dart & Flutter
|
||||||
On Linux, the installers for Dart and Flutter use the ~/opt~ directory, and this
|
On Linux, the installers for Dart and Flutter use the ~/opt~ directory, and this
|
||||||
module assumes that. However, you may set ~lsp-dart-sdk-dir~ to your Dart
|
module assumes that. However, you may set ~lsp-dart-sdk-dir~ to your Dart
|
||||||
|
@ -101,18 +110,31 @@ LSP can find the language server included with the Dart SDK.
|
||||||
|
|
||||||
Alternatively, these variables shouldn't be necessary if you just include Dart
|
Alternatively, these variables shouldn't be necessary if you just include Dart
|
||||||
and Flutter on your ~PATH~ variable.
|
and Flutter on your ~PATH~ variable.
|
||||||
|
|
||||||
** Android
|
** Android
|
||||||
You will also need to setup your system for Android development if you intend to
|
You will also need to setup your system for Android development if you intend to
|
||||||
use Flutter to develop mobile applications. Refer to your distributions package
|
use Flutter to develop mobile applications. Refer to your distributions package
|
||||||
manager for details. In most distributions the ~/opt/android-sdk~ directory is
|
manager for details. In most distributions the ~/opt/android-sdk~ directory is
|
||||||
used, and you might have to change some permissions in this directory since it's
|
used, and you might have to change some permissions in this directory since it's
|
||||||
owned by root. The [[https://wiki.archlinux.org/index.php/Android][Arch Linux wiki has a great guide on this here.]]
|
owned by root. The [[https://wiki.archlinux.org/index.php/Android][Arch Linux wiki has a great guide on this here.]]
|
||||||
|
|
||||||
** Flutter mobile development on desktop
|
** Flutter mobile development on desktop
|
||||||
[[https://github.com/go-flutter-desktop/go-flutter][Hover]] is an application that can run Flutter mobile apps on your desktop, this
|
[[https://github.com/go-flutter-desktop/go-flutter][Hover]] is an application that can run Flutter mobile apps on your desktop, this
|
||||||
makes the mobile development a lot easier without the need to setup an Android emulator.
|
makes the mobile development a lot easier without the need to setup an Android
|
||||||
|
emulator.
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
|
[[doom-report:][Report an issue?]]
|
||||||
|
|
||||||
See the configuration section for information on the binaries for Dart and
|
See the configuration section for information on the binaries for Dart and
|
||||||
Flutter. On new installs to the ~/opt~ directory, you will likely need to edit
|
Flutter. On new installs to the =/opt= directory, you will likely need to edit
|
||||||
the permissions of the ~/opt/dart-sdk~ and ~/opt/flutter~ directories (not to
|
the permissions of the =/opt/dart-sdk= and =/opt/flutter= directories (not to
|
||||||
mention the Android SDK, as discussed above).
|
mention the Android SDK, as discussed above).
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
51
modules/lang/data/README.org
Normal file
51
modules/lang/data/README.org
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang data][Issues]] ↖ [[doom-module-source:lang/data][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang data
|
||||||
|
#+SUBTITLE: A dumping ground for data formats
|
||||||
|
#+CREATED: February 20, 2017
|
||||||
|
#+SINCE: 2.0.0
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
This module adds Emacs support for CSV and XML files.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][csv-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
/This module has no external requirements./
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
55
modules/lang/dhall/README.org
Normal file
55
modules/lang/dhall/README.org
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang dhall][Issues]] ↖ [[doom-module-source:lang/dhall][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang dhall
|
||||||
|
#+SUBTITLE: Config as code
|
||||||
|
#+CREATED: August 03, 2021
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
This module adds [[https://dhall-lang.org/][Dhall]] language support to Emacs.
|
||||||
|
|
||||||
|
Dhall is a programmable configuration language that you can think of as: JSON +
|
||||||
|
functions + types + imports.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][dhall-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires the =dhall-json= package, which provides both the
|
||||||
|
=dhall-to-json=, =dhall-to-yaml=, and =dhall-format= executables.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report-issue:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
|
@ -1,79 +1,104 @@
|
||||||
#+TITLE: lang/elixir
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang elixir][Issues]] ↖ [[doom-module-source:lang/elixir][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: June 24, 2019
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.9
|
#+TITLE: :lang elixir
|
||||||
|
#+SUBTITLE: Erlang done right
|
||||||
|
#+CREATED: June 24, 2019
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module provides support for [[https://elixir-lang.org/][Elixir programming language]] via [[doom-package:][alchemist]] or
|
||||||
- [[#module-flags][Module flags]]
|
[[https://github.com/elixir-lsp/elixir-ls/][elixir-ls]].
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#install-elixir][Install Elixir]]
|
|
||||||
- [[#with-asdf][With ~asdf~]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#gentoo-linux][Gentoo Linux]]
|
|
||||||
- [[#opensuse][openSUSE]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#appendix][Appendix]]
|
|
||||||
- [[#commands][Commands]]
|
|
||||||
|
|
||||||
* Description
|
** Maintainers
|
||||||
This module provides support for [[https://elixir-lang.org/][Elixir programming language]] via [[https://github.com/tonini/alchemist.el][alchemist.el]]
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
or [[https://github.com/elixir-lsp/elixir-ls/][elixir-ls]].
|
|
||||||
|
|
||||||
** Module flags
|
** Module flags
|
||||||
+ ~+lsp~ Enable LSP support. Requires [[https://github.com/elixir-lsp/elixir-ls/][elixir-ls]].
|
- +lsp ::
|
||||||
|
Enable LSP support for ~elixir-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/elixir-lsp/elixir-ls/][elixir-ls]]).
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/elixir-editors/emacs-elixir][elixir-mode]]
|
- [[doom-package:][alchemist]]
|
||||||
+ [[https://github.com/tonini/alchemist.el][alchemist.el]]
|
- [[doom-package:][elixir-mode]]
|
||||||
+ [[https://github.com/aaronjensen/flycheck-credo][flycheck-credo]]
|
- [[doom-package:][exunit]]
|
||||||
+ [[https://github.com/ananthakumaran/exunit.el][exunit]]
|
- [[doom-package:][flycheck-credo]] if [[doom-module:][:checkers syntax]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
You should have Elixir installed, for example, via your distribution's package
|
/No hacks documented for this module./
|
||||||
manager or a version management tool such as [[https://github.com/asdf-vm/asdf-elixir][asdf]].
|
|
||||||
|
|
||||||
If you want to add support for LSP ([[modules/tools/lsp][:tools lsp]]), be sure to install [[https://github.com/JakeBecker/elixir-ls/][elixir-ls]]
|
** TODO Changelog
|
||||||
and enable ~:tools lsp~ in your ~init.el~.
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires Elixir. Install it via your distribution's package manager
|
||||||
|
or a version management tool such as [[https://github.com/asdf-vm/asdf-elixir][asdf]].
|
||||||
|
|
||||||
|
To add LSP support, install [[https://github.com/JakeBecker/elixir-ls/][elixir-ls]] and enable [[doom-module:][:tools lsp]].
|
||||||
|
|
||||||
|
To support linting with [[https://github.com/rrrene/credo][credo]], add ~:checkers syntax~ to ~$DOOMDIR/init.el~.
|
||||||
|
|
||||||
To support linting with [[https://github.com/rrrene/credo][credo]], add ~:checkers syntax~ to your ~init.el~
|
|
||||||
** Install Elixir
|
** Install Elixir
|
||||||
|
(See [[https://elixir-lang.org/install.html]] for other operating systems)
|
||||||
|
|
||||||
*** With ~asdf~
|
*** With ~asdf~
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
asdf plugin-add elixir
|
asdf plugin-add elixir
|
||||||
asdf install elixir 1.9.1
|
asdf install elixir 1.9.1
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
*** Arch Linux
|
*** Arch Linux
|
||||||
#+BEGIN_SRC sh :dir /sudo::
|
#+begin_src sh
|
||||||
sudo pacman -S elixir
|
pacman -S elixir
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
*** Gentoo Linux
|
*** Gentoo Linux
|
||||||
#+BEGIN_SRC sh :dir /sudo::
|
#+begin_src sh
|
||||||
sudo emerge -v dev-lang/elixir
|
emerge -v dev-lang/elixir
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
*** openSUSE
|
*** openSUSE
|
||||||
#+BEGIN_SRC sh :dir /sudo::
|
#+begin_src sh
|
||||||
sudo zypper install elixir
|
zypper install elixir
|
||||||
#+END_SRC
|
#+end_src
|
||||||
See [[https://elixir-lang.org/install.html]] for other operating systems
|
|
||||||
* Features
|
* TODO Usage
|
||||||
- Code completion (~:completion company~)
|
#+begin_quote
|
||||||
- Documentation lookup (~:tools lookup~)
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
- Code completion ([[doom-module:][:completion company]])
|
||||||
|
- Documentation lookup ([[doom-module:][:tools lookup]])
|
||||||
- Mix integration
|
- Mix integration
|
||||||
- Phoenix support
|
- Phoenix support
|
||||||
- ~iex~ integration (~:tools eval~)
|
- ~iex~ integration ([[doom-module:][:tools eval]])
|
||||||
- Syntax checking (~:checkers syntax~, using [[https://github.com/aaronjensen/flycheck-credo][flycheck-credo]]~)
|
- Syntax checking ([[doom-module:][:checkers syntax]], using [[doom-package:][flycheck-credo]])
|
||||||
* Appendix
|
|
||||||
** Commands
|
** exunit-mode
|
||||||
*** exunit-mode
|
The exunit-mode prefix is [[kbd:][<localleader> t]]. Here is some examples:
|
||||||
The exunit-mode prefix is =SPC m t=. Here is some examples:
|
| command | key / ex command | description |
|
||||||
| | | |
|
|--------------------------------------------+-------------------+--------------------------------------------------------|
|
||||||
| command | key / ex command | description |
|
| ~exunit-verify-all~ | [[kbd:][<localleader> t a]] | Runs exunit on all files |
|
||||||
|------------------------------------------+------------------+--------------------------------------------------------|
|
| ~exunit-rerun~ | [[kbd:][<localleader> t r]] | Re-runs last exunit command |
|
||||||
| ~exunit-verify-all~ | =SPC m t a= | Runs exunit on all files |
|
| ~exunit-verify~ | [[kbd:][<localleader> t v]] | Runs exunit on current file |
|
||||||
| ~exunit-rerun~ | =SPC m t r= | Re-runs last exunit command |
|
| ~exunit-verify-single~ | [[kbd:][<localleader> t s]] | Runs exunit for the item on cursor |
|
||||||
| ~exunit-verify~ | =SPC m t v= | Runs exunit on current file |
|
| ~exunit-toggle-file-and-test~ | [[kbd:][<localleader> t t]] | Switch between implementation and test |
|
||||||
| ~exunit-verify-single~ | =SPC m t s= | Runs exunit for the item on cursor |
|
| ~exunit-toggle-file-and-test-other-window~ | [[kbd:][<localleader> t T]] | Switch between implementation and test in other window |
|
||||||
| ~exunit-toggle-file-and-test~ | =SPC m t t= | Switch between implementation and test |
|
|
||||||
| ~exunit-toggle-file-and-test-other-window~ | =SPC m t T= | Switch between implementation and test in other window |
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
59
modules/lang/elm/README.org
Normal file
59
modules/lang/elm/README.org
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang elm][Issues]] ↖ [[doom-module-source:lang/elm][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang elm
|
||||||
|
#+SUBTITLE: Care for a cup of TEA?
|
||||||
|
#+CREATED: May 21, 2017
|
||||||
|
#+SINCE: 2.0.3 (#74)
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
This module adds [[https://elm-lang.org/][Elm]] support to Doom Emacs.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support for ~elm-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/elm-tooling/elm-language-server][elm-language-server]]).
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][elm-mode]]
|
||||||
|
- [[doom-package:][flycheck-elm]] if [[doom-module:][:checkers syntax]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's prerequisites are not all documented./ [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
- If [[doom-module:][+lsp]] is enabled, [[https://github.com/elm-tooling/elm-language-server][elm-language-server]] is required to be installed and in
|
||||||
|
your =$PATH=.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
|
@ -1,60 +1,75 @@
|
||||||
#+TITLE: lang/emacs-lisp
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang emacs-lisp][Issues]] ↖ [[doom-module-source:lang/emacs-lisp][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v1.3
|
#+TITLE: :lang emacs-lisp
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: A parsel-tongue for the oldest serpent
|
||||||
|
#+CREATED: January 16, 2017
|
||||||
|
#+SINCE: 1.3
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module extends support for Emacs Lisp in Doom Emacs.
|
This module extends support for Emacs Lisp in Doom Emacs.
|
||||||
|
|
||||||
+ Macro expansion
|
- Macro expansion
|
||||||
+ Go-to-definitions or references functionality
|
- Go-to-definitions or references functionality
|
||||||
|
- Syntax highlighting for defined and quoted symbols
|
||||||
|
- Replaces the built-in help with the more powerful [[doom-package:][helpful]]
|
||||||
|
- Adds function example uses to documentation
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
+ @hlissner (author)
|
- [[doom-user:][@hlissner]]
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
This module provides no flags.
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/jorgenschaefer/emacs-buttercup][buttercup]]
|
/This module has no flags./
|
||||||
+ [[https://github.com/Wilfred/elisp-def][elisp-def]]
|
|
||||||
+ [[https://github.com/xuchunyang/elisp-demos][elisp-demos]]
|
** Packages
|
||||||
+ [[https://github.com/flycheck/flycheck-cask][flycheck-cask]] (=:checkers syntax=)
|
- [[doom-package:][buttercup]]
|
||||||
+ [[https://github.com/Fanael/highlight-quoted][highlight-quoted]]
|
- [[doom-package:][elisp-def]]
|
||||||
+ [[https://github.com/joddie/macrostep][macrostep]]
|
- [[doom-package:][elisp-demos]]
|
||||||
+ [[https://github.com/tonini/overseer.el][overseer]]
|
- [[doom-package:][flycheck-cask]] if [[doom-module:][:checkers syntax]]
|
||||||
|
- [[doom-package:][flycheck-package]] if [[doom-module:][:checkers syntax]]
|
||||||
|
- [[doom-package:][highlight-quoted]]
|
||||||
|
- [[doom-package:][macrostep]]
|
||||||
|
- [[doom-package:][overseer]]
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
+ Symbols that are defined in the current session are highlighted with
|
- Symbols that are defined in the current session are highlighted with
|
||||||
~font-lock-variable-face~.
|
~font-lock-variable-face~.
|
||||||
+ Eldoc will display the values of variables next to its documentation.
|
- Eldoc will display the values of variables next to its documentation.
|
||||||
+ ~elisp-demos~ was modified to display API demos for Doom's standard library
|
- ~elisp-demos~ was modified to display API demos for Doom's standard library
|
||||||
(in [[file:../../../docs/api.org][docs/api.org]]).
|
(in [[file:../../../docs/api.org][docs/api.org]]).
|
||||||
+ This module extends imenu support for Doom's API (e.g. ~package!~,
|
- This module extends imenu support for Doom's API (e.g. ~package!~,
|
||||||
~use-package~, ~after!~)
|
~use-package~, ~after!~)
|
||||||
+ Flycheck has been configured to tone down the false positives when you are
|
- Flycheck has been configured to tone down the false positives when you are
|
||||||
editing your Emacs or Doom config.
|
editing your Emacs or Doom config.
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
This module's sole dependency is Emacs. It's very obscure, you wouldn't know
|
This module's sole dependency is Emacs. It's very obscure, you wouldn't know
|
||||||
about it.
|
about it.
|
||||||
|
|
||||||
* TODO Features
|
* TODO Usage
|
||||||
# An in-depth list of features, how to use them, and their dependencies.
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
# How to configure this module, including common problems and how to address them.
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Troubleshooting
|
* Troubleshooting
|
||||||
# Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,39 +1,62 @@
|
||||||
#+TITLE: lang/erlang
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang erlang][Issues]] ↖ [[doom-module-source:lang/erlang][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 14, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: {replace with next tagged release version}
|
#+TITLE: :lang erlang
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: An elegant language for a more civilized age
|
||||||
|
#+CREATED: January 15, 2020
|
||||||
* Table of Contents :TOC_3:noexport:
|
#+SINCE: 21.12.0
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
This module provides support [[https://www.erlang.org/][Erlang programming language]]. Support for the
|
This module provides support [[https://www.erlang.org/][Erlang programming language]]. Support for the
|
||||||
[[https://github.com/erlang/sourcer][sourcer]] language server is optional.
|
[[https://github.com/erlang/sourcer][sourcer]] language server is optional.
|
||||||
|
|
||||||
|
Includes:
|
||||||
|
- Code completion ([[doom-module:][+lsp]], [[doom-module:][:completion company]], & [[doom-module:][:completion ivy]])
|
||||||
|
- Syntax checking ([[doom-module:][:checkers syntax]])
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ ~+lsp~ Enable LSP Support. Requires [[https://github.com/erlang/sourcer][sourcer]].
|
- +lsp ::
|
||||||
|
Enable LSP support for ~erlang-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/erlang/sourcer][sourcer]]).
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][flycheck-rebar3]]
|
||||||
|
- [[doom-package:][ivy-erlang-complete]]
|
||||||
|
|
||||||
** Plugins
|
** Hacks
|
||||||
+ Erlang Mode (bundled with Erlang installations)
|
/No hacks documented for this module./
|
||||||
+ [[https://github.com/joedevivo/flycheck-rebar3][flycheck-rebar3]]
|
|
||||||
+ [[https://github.com/s-kostyaev/ivy-erlang-complete][ivy-erlang-complete]]
|
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
You should have Erlang installed. Check your distribution's package manager or a
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
version management tool such as [[https://github.com/kerl/kerl][kerl]].
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
If you want LSP support, install [[https://github.com/erlang/sourcer][sourcer]].
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
* Features
|
This module requires Erlang be installed (which includes ~erlang-mode~). Check
|
||||||
- Code completion (~+lsp~, ~:completion company~, and ~:completion ivy~)
|
your distribution's package manager or a version management tool such as [[https://github.com/kerl/kerl][kerl]].
|
||||||
- Syntax checking (~:checkers syntax~)
|
|
||||||
|
For LSP support, install [[https://github.com/erlang/sourcer][sourcer]].
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,34 +1,67 @@
|
||||||
#+TITLE: :lang ess
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang ess][Issues]] ↖ [[doom-module-source:lang/ess][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang ess
|
||||||
|
#+SUBTITLE: 73.6% of all statistics are made up
|
||||||
|
#+CREATED: February 05, 2018
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
This module adds support for various statistics languages, including R, S-Plus,
|
This module adds support for various statistics languages, including R, S-Plus,
|
||||||
SAS, Julia and Stata.
|
SAS, Julia and Stata.
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
** Maintainers
|
||||||
- [[#prequisites][Prequisites]]
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
- [[#appendix][Appendix]]
|
|
||||||
- [[#keybindings][Keybindings]]
|
** Module flags
|
||||||
|
- +stan ::
|
||||||
|
Enable support for ~stan-mode~, including code completion and syntax checking.
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][ess]]
|
||||||
|
- [[doom-package:][ess-R-data-view]]
|
||||||
|
- [[doom-package:][polymode]]
|
||||||
|
- [[doom-package:][poly-R]]
|
||||||
|
- if [[doom-module:][+stan]]
|
||||||
|
- [[doom-package:][company-stan]] if [[doom-module:][:completion company]]
|
||||||
|
- [[doom-package:][eldoc-stan]]
|
||||||
|
- [[doom-package:][flycheck-stan]] if [[doom-module:][:checkers syntax]]
|
||||||
|
- [[doom-package:][stan-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
* Prequisites
|
|
||||||
This module has several optional dependencies:
|
This module has several optional dependencies:
|
||||||
|
|
||||||
+ [[https://github.com/jimhester/lintr][lintr]]: Enables R linting.
|
- [[https://github.com/jimhester/lintr][lintr]]: for R linting.
|
||||||
+ [[https://github.com/REditorSupport/languageserver][languageserver]]: Enables LSP support in an R buffer (with =+lsp= flag).
|
- [[https://github.com/REditorSupport/languageserver][languageserver]]: for LSP support in an R buffer (with [[doom-module:][+lsp]] flag).
|
||||||
|
|
||||||
* Appendix
|
* TODO Usage
|
||||||
** Keybindings
|
#+begin_quote
|
||||||
*** :map ess-doc-map
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
** :map ess-doc-map
|
||||||
| key | command |
|
| key | command |
|
||||||
|-----+----------------------------|
|
|-----+----------------------------|
|
||||||
| "h" | ess-display-help-on-object |
|
| "h" | ess-display-help-on-object |
|
||||||
| "p" | ess-R-dv-pprint |
|
| "p" | ess-R-dv-pprint |
|
||||||
| "t" | ess-R-dv-ctable |
|
| "t" | ess-R-dv-ctable |
|
||||||
*** :map ess-mode-map
|
|
||||||
|
** :map ess-mode-map
|
||||||
| key | command |
|
| key | command |
|
||||||
|--------------+-----------------------|
|
|--------------+-----------------------|
|
||||||
| "<s-return>" | ess-eval-line |
|
| "<s-return>" | ess-eval-line |
|
||||||
| "<up>" | comint-next-input |
|
| "<up>" | comint-next-input |
|
||||||
| "<down>" | comint-previous-input |
|
| "<down>" | comint-previous-input |
|
||||||
**** :localleader
|
|
||||||
|
** :localleader
|
||||||
| state | key | command |
|
| state | key | command |
|
||||||
|-------+-------------+---------------------------------------------------|
|
|-------+-------------+---------------------------------------------------|
|
||||||
| :nv | "," | ess-eval-region-or-function-or-paragraph-and-step |
|
| :nv | "," | ess-eval-region-or-function-or-paragraph-and-step |
|
||||||
|
@ -55,3 +88,19 @@ This module has several optional dependencies:
|
||||||
| :n | "cm" | ess-noweb-mark-chunk |
|
| :n | "cm" | ess-noweb-mark-chunk |
|
||||||
| :n | "cp" | ess-noweb-previous-chunk |
|
| :n | "cp" | ess-noweb-previous-chunk |
|
||||||
| :n | "cn" | ess-noweb-next-chunk |
|
| :n | "cn" | ess-noweb-next-chunk |
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,43 +1,59 @@
|
||||||
#+TITLE: lang/factor
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang factor][Issues]] ↖ [[doom-module-source:lang/factor][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: December 3, 2019
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v3.0.0
|
#+TITLE: :lang factor
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: ...
|
||||||
|
#+CREATED: December 03, 2019
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds support to the [[https://github.com/factor/factor][factor]] programming language and its associated
|
This module adds support to the [[https://github.com/factor/factor][factor]] programming language and its associated
|
||||||
_fuel_ emacs plugin.
|
[[doom-package:][fuel]] emacs plugin.
|
||||||
|
|
||||||
+ If possible, include a brief list of feature highlights here
|
** Maintainers
|
||||||
+ Like code completion, syntax checking or available snippets
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ Include links to packages & external things where possible
|
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
This module provides no flags.
|
/This module has no flags./
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
{A list of linked plugins}
|
/This module doesn't install any packages./
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
{A list of internal modifications to included packages}
|
/No hacks documented for this module./
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
You must install [[https://github.com/factor/factor][factor]] to use the advanced functionality of this module.
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires [[https://github.com/factor/factor][factor]] for its advanced functionality.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
|
||||||
This module requires the installation of factor to be available at
|
This module requires the installation of factor to be available at
|
||||||
=fuel-factor-root-dir=. Here's an example of how to set it:
|
~fuel-factor-root-dir~. E.g.
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
|
;; in $DOOMDIR/config.el
|
||||||
(setq fuel-factor-root-dir "/Applications/factor")
|
(setq fuel-factor-root-dir "/Applications/factor")
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,46 +1,71 @@
|
||||||
#+TITLE: lang/faust
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang faust][Issues]] ↖ [[doom-module-source:lang/faust][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: July 23, 2019
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.1.0
|
#+TITLE: :lang faust
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: DSP, but you can keep your soul
|
||||||
|
#+CREATED: October 14, 2019
|
||||||
|
#+SINCE: 21.12.0 (#1898)
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
Add support to [[https://faust.grame.fr/][Faust language]] inside emacs.
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
|
|
||||||
* Description
|
- Faust code syntax highlighting and indentation
|
||||||
Add support to Faust language inside emacs.
|
- Project-based (inter-linked Faust files)
|
||||||
|
- Build/compile with output window
|
||||||
|
- Graphic diagrams generation and visualization in the (default) browser
|
||||||
|
- Browse generated C++ code inside Emacs
|
||||||
|
- Inter-linked files/buffers :
|
||||||
|
- From "component" to Faust file
|
||||||
|
- From "include" to Faust library file
|
||||||
|
- From error to file:line number
|
||||||
|
- From function name to online documentation
|
||||||
|
- Fully configurable (build type/target/architecture/toolkit, keyboard
|
||||||
|
shortcuts, etc.)
|
||||||
|
- Automatic keyword completion (if Auto-Complete is installed)
|
||||||
|
- Automatic objets (functions, operators, etc.) template insertion with default
|
||||||
|
sensible values (if [[doom-module:][:editor snippets]] is enabled)
|
||||||
|
- Modeline indicator of the state of the code
|
||||||
|
|
||||||
+ Faust code syntax hightlighting and indentation
|
** Maintainers
|
||||||
+ Project-based (inter-linked Faust files)
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ Build/compile with output window
|
|
||||||
+ Graphic diagrams generation and vizualisation in the (default) browser
|
|
||||||
+ Browse generated C++ code inside Emacs
|
|
||||||
+ Inter-linked files/buffers :
|
|
||||||
+ From "component" to Faust file
|
|
||||||
+ From "include" to Faust library file
|
|
||||||
+ From error to file:line number
|
|
||||||
+ From function name to online documentation
|
|
||||||
+ Fully configurable (build type/target/architecture/toolkit, keyboard shortcuts, etc.)
|
|
||||||
+ Automatic keyword completion (if Auto-Complete is installed)
|
|
||||||
+ Automatic objets (functions, operators, etc.) template insertion with default sensible values (if Yasnippet is installed)
|
|
||||||
+ Modeline indicator of the state of the code
|
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://bitbucket.org/yphil/faustine][faustine]]
|
- [[doom-package:][faustine]]
|
||||||
|
|
||||||
* Features
|
** Hacks
|
||||||
Keybindings
|
- Both ~faust-mode~ and ~faustine-mode~ are hardcoded to use [[doom-package:][auto-complete]],
|
||||||
|
which Doom does not use. Its obnoxious 'You really should install and use
|
||||||
|
auto-complete' warnings have been silenced.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
| Binding | Description |
|
| Binding | Description |
|
||||||
|-------------------+----------------------|
|
|-------------------+----------------------|
|
||||||
| ~<localleader> b~ | ~build~ |
|
| [[kbd:][<localleader> b]] | build |
|
||||||
| ~<localleader> c~ | ~syntax check~ |
|
| [[kbd:][<localleader> c]] | syntax check |
|
||||||
| ~<localleader> d~ | ~diagram~ |
|
| [[kbd:][<localleader> d]] | diagram |
|
||||||
| ~<localleader> h~ | ~online dock~ |
|
| [[kbd:][<localleader> h]] | online dock |
|
||||||
| ~<localleader> RET~ | ~mdoc~ |
|
| [[kbd:][<localleader> RET]] | mdoc |
|
||||||
| ~<localleader> o~ | ~toggle output buffer~ |
|
| [[kbd:][<localleader> o]] | toggle output buffer |
|
||||||
| ~<localleader> s~ | ~source code~ |
|
| [[kbd:][<localleader> s]] | source code |
|
||||||
| ~<localleader> r~ | ~run~ |
|
| [[kbd:][<localleader> r]] | run |
|
||||||
| ~<localleader> S-b~ | ~build all~ |
|
| [[kbd:][<localleader> S-b]] | build all |
|
||||||
| ~<localleader> S-d~ | ~diagram all~ |
|
| [[kbd:][<localleader> S-d]] | diagram all |
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,58 +1,72 @@
|
||||||
#+TITLE: lang/fsharp
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang fsharp][Issues]] ↖ [[doom-module-source:lang/fsharp][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: May 22, 2019
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: {replace with next tagged release version}
|
#+TITLE: :lang fsharp
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: ML stands for Microsoft's Language
|
||||||
|
#+CREATED: May 22, 2019
|
||||||
|
#+SINCE: 21.12.0 (#1327)
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds [[https://fsharp.org/][F#]] support to Doom Emacs.
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#mono][Mono]]
|
|
||||||
- [[#osx][OSX]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#lsp][LSP]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
*Includes:*
|
||||||
# A summary of what this module does.
|
- Code completion
|
||||||
|
- eldoc support
|
||||||
|
- Syntax checking
|
||||||
|
|
||||||
# + If possible, include a brief list of feature highlights here
|
** Maintainers
|
||||||
# + Like code completion, syntax checking or available snippets
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
# + Include links to packages & external things where possible
|
|
||||||
This module adds [[https://fsharp.org/][F#]] support.
|
** Module flags
|
||||||
+ Code completion
|
- +lsp ::
|
||||||
+ eldoc support
|
Enable LSP support for ~fsharp-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
+ Syntax checking
|
(supports [[https://github.com/emacs-lsp/lsp-mode/blob/master/clients/lsp-fsharp.el][lsp-fsharp]].).
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][fsharp-mode]]
|
||||||
|
- [[doom-package:][lsp-fsharp]] if [[doom-package:][+lsp]]
|
||||||
|
|
||||||
** Module Flags
|
|
||||||
+ =+lsp= Enables lsp-fsharp (this requires ~:tools lsp~ to be enabled).
|
|
||||||
** Plugins
|
|
||||||
+ [[https://github.com/fsharp/emacs-fsharp-mode][fsharp-mode]]
|
|
||||||
+ =+lsp=
|
|
||||||
+ [[https://github.com/emacs-lsp/lsp-mode/blob/master/clients/lsp-fsharp.el][lsp-fsharp]]
|
|
||||||
** Hacks
|
** Hacks
|
||||||
None so far.
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
To get code completion/syntax checking when not using lsp, you will need to
|
||||||
|
install [[https://www.mono-project.com/][mono]].
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
** Mono
|
** Mono
|
||||||
To get code completion/syntax checking when not using lsp, you will need to install [[https://www.mono-project.com/][mono]].
|
|
||||||
*** OSX
|
*** OSX
|
||||||
Do *NOT* install mono via brew. See this [[https://github.com/fsharp/FsAutoComplete/issues/331][issue]].
|
*Do NOT install mono via brew.* See this [[https://github.com/fsharp/FsAutoComplete/issues/331][issue]].
|
||||||
|
|
||||||
*** Arch Linux
|
*** Arch Linux
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
sudo pacman -S mono
|
pacman -S mono
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** LSP
|
** LSP
|
||||||
The language server is automatically installed by [[https://github.com/emacs-lsp/lsp-mode/blob/master/clients/lsp-fsharp.el][lsp-fsharp]].
|
The language server is automatically installed by [[https://github.com/emacs-lsp/lsp-mode/blob/master/clients/lsp-fsharp.el][lsp-fsharp]].
|
||||||
* Features
|
|
||||||
An in-depth list of features, how to use them, and their dependencies.
|
|
||||||
|
|
||||||
* Configuration
|
* TODO Usage
|
||||||
How to configure this module, including common problems and how to address them.
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,56 +1,75 @@
|
||||||
#+TITLE: lang/fstar
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang fstar][Issues]] ↖ [[doom-module-source:lang/fstar][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: February 2, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: 2.0.10
|
#+TITLE: :lang fstar
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: (Dependent) types and (monadic) effects and Z3
|
||||||
|
#+CREATED: February 02, 2020
|
||||||
|
#+SINCE: 21.12.0 (#2473)
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#f][F*]]
|
|
||||||
- [[#macos][macOS]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds [[https://fstar-lang.org/][F*]] support, powered by [[https://github.com/FStarLang/fstar-mode.el][fstar-mode.el]].
|
This module adds [[https://fstar-lang.org/][F*]] support, powered by [[https://github.com/FStarLang/fstar-mode.el][fstar-mode.el]].
|
||||||
|
|
||||||
+ Syntax highlighting
|
- Syntax highlighting
|
||||||
+ Interactively process F* files one definition at a time
|
- Interactively process F* files one definition at a time
|
||||||
+ Query the running F* process to look up definitions, documentation, and
|
- Query the running F* process to look up definitions, documentation, and
|
||||||
theorems
|
theorems
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
+ [[https://github.com/tchajed][@tchajed]] (Author)
|
- [[doom-user:][@tchajed]]
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
This module provides no flags.
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/FStarLang/fstar-mode.el][fstar-mode]]
|
/This module has no flags./
|
||||||
|
|
||||||
* Prerequisites
|
** Packages
|
||||||
** F*
|
- [[doom-package:][fstar-mode]]
|
||||||
While fstar-mode supports the latest release of F*, you may have a better
|
|
||||||
experience installing a more recent version from source. See F*'s [[https://github.com/FStarLang/FStar/blob/master/INSTALL.md][INSTALL.md]].
|
** Hacks
|
||||||
*** macOS
|
/No hacks documented for this module./
|
||||||
#+BEGIN_SRC sh
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires [[https://github.com/FStarLang/FStar/blob/master/INSTALL.md][F*]].
|
||||||
|
|
||||||
|
While ~fstar-mode~ supports the latest release of F*, you may have a better
|
||||||
|
experience installing a more recent version from source.
|
||||||
|
|
||||||
|
** macOS
|
||||||
|
#+begin_src sh
|
||||||
brew install fstar
|
brew install fstar
|
||||||
#+END_SRC
|
#+end_src
|
||||||
*** Arch Linux
|
|
||||||
Install ~fstar~ from the AUR:
|
** Arch Linux
|
||||||
#+BEGIN_SRC sh
|
~fstar~ is available in the AUR:
|
||||||
|
#+begin_src sh
|
||||||
yaourt -S fstar
|
yaourt -S fstar
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
* Features
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
If you're having trouble getting F* to start correctly, you may need to
|
[[doom-report:][Report an issue?]]
|
||||||
configure a few variables in fstar-mode; see its [[https://github.com/FStarLang/fstar-mode.el][README]] for more details.
|
|
||||||
|
- If you're having trouble getting F* to start correctly, you may need to
|
||||||
|
configure a few variables in ~fstar-mode~; see its [[https://github.com/FStarLang/fstar-mode.el][README]] for more details.
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,55 +1,80 @@
|
||||||
#+TITLE: lang/gdscript
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang gdscript][Issues]] ↖ [[doom-module-source:lang/gdscript][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: May 27, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.9
|
#+TITLE: :lang gdscript
|
||||||
|
#+SUBTITLE: the language you waited for
|
||||||
|
#+CREATED: June 01, 2020
|
||||||
|
#+SINCE: 21.12.0 (#3239)
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#appendix][Appendix]]
|
|
||||||
- [[#commands][Commands]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds support for GDScript, the scripting language of the [[http://godotengine.org/][Godot]] game
|
This module adds support for GDScript, the scripting language of the [[http://godotengine.org/][Godot]] game
|
||||||
engine, to Doom Emacs, powered by [[https://github.com/GDQuest/emacs-gdscript-mode][gdscript-mode]].
|
engine, to Doom Emacs, powered by [[https://github.com/GDQuest/emacs-gdscript-mode][gdscript-mode]].
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ =+lsp= Enables LSP support for gdscript-mode. This requires the =:tools lsp=
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
module to be enabled and you need to open your project in Godot ~3.2.1~ or
|
|
||||||
above to run the language server.
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
This module provides no plugins.
|
- +lsp ::
|
||||||
|
Enable LSP support for ~gdscript-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(Godot ~3.2.1~ or newer).
|
||||||
|
|
||||||
* Prerequisites
|
** Packages
|
||||||
To format your GDScript code, you need to install [[https://github.com/Scony/godot-gdscript-toolkit/][gdtoolkit]]:
|
- [[doom-package:][gdscript-mode]]
|
||||||
|
|
||||||
#+BEGIN_SRC shell
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires Godot 3.2.1+ to be installed to make use of any of its
|
||||||
|
features (beyond syntax highlighting).
|
||||||
|
|
||||||
|
To format your GDScript code, you will need [[https://github.com/Scony/godot-gdscript-toolkit/][gdtoolkit]]:
|
||||||
|
#+begin_src sh
|
||||||
# On Windows
|
# On Windows
|
||||||
pip install gdtoolkit
|
pip install gdtoolkit
|
||||||
|
|
||||||
# On MacOS and Linux
|
# On MacOS and Linux
|
||||||
pip3 install gdtoolkit
|
pip3 install gdtoolkit
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
* Features
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
** LSP support
|
||||||
The language server support for GDScript is built into by lsp-mode. As long as
|
The language server support for GDScript is built into by lsp-mode. As long as
|
||||||
you have the ~lsp~ module installed, you should be able to use the language
|
you have [[doom-module:][+lsp]] and [[doom-module:][:tools lsp]] enabled, and Godot 3.2.1+ installed, it should work
|
||||||
server.
|
out of the box.
|
||||||
|
|
||||||
Godot's language server is built into the game engine, so you need to open your
|
Godot's language server is built into the game engine, so you need to open your
|
||||||
project in Godot ~3.2.1~ or above for the GDScript language server to be
|
project in Godot ~3.2.1~ or above for the GDScript language server to be
|
||||||
available.
|
available.
|
||||||
|
|
||||||
/Note that the GDScript language server has known issues causing some errors
|
|
||||||
with lsp-mode. They should be addressed in future releases./
|
|
||||||
|
|
||||||
* Configuration
|
|
||||||
This module provides no configuration.
|
|
||||||
|
|
||||||
* Appendix
|
|
||||||
** Commands
|
** Commands
|
||||||
Press ~SPC m~ (local leader key) to explore available commands.
|
Press the localleader key ([[kbd:][SPC m]] for evil users, [[kbd:][C-c l]] otherwise) to explore
|
||||||
|
available commands.
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
[[doom-report:][Report an issue?]]
|
||||||
|
|
||||||
|
- The GDScript language server has known issues causing some errors with
|
||||||
|
[[doom-package:][lsp-mode]]. They should be addressed in future releases.
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,81 +1,74 @@
|
||||||
#+TITLE: lang/go
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang go][Issues]] ↖ [[doom-module-source:lang/go][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0
|
#+TITLE: :lang go
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: The hipster dialect
|
||||||
|
#+CREATED: June 15, 2015
|
||||||
|
#+SINCE: 0.7
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#go][Go]]
|
|
||||||
- [[#dependencies][Dependencies]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds [[https://golang.org][Go]] support, with optional (but recommended) LSP support via
|
This module adds [[https://golang.org][Go]] support, with optional (but recommended) LSP support via
|
||||||
[[https://github.com/golang/tools/blob/master/gopls/README.md][gopls]].
|
[[https://github.com/golang/tools/blob/master/gopls/README.md][gopls]].
|
||||||
|
|
||||||
+ Code completion (~gocode~)
|
- Code completion (~gocode~)
|
||||||
+ Documentation lookup (~godoc~)
|
- Documentation lookup (~godoc~)
|
||||||
+ Eldoc support (~go-eldoc~)
|
- Eldoc support (~go-eldoc~)
|
||||||
+ REPL (~gore~)
|
- REPL (~gore~)
|
||||||
+ Syntax-checking (~flycheck~)
|
- Syntax-checking (~flycheck~)
|
||||||
+ Auto-formatting on save (~gofmt~) (requires =:editor (format +onsave)=)
|
- Auto-formatting on save (~gofmt~) (requires [[doom-module:][:editor format +onsave]])
|
||||||
+ Code navigation & refactoring (~go-guru~)
|
- Code navigation & refactoring (~go-guru~)
|
||||||
+ [[../../editor/file-templates/templates/go-mode][File templates]]
|
- [[../../editor/file-templates/templates/go-mode][File templates]]
|
||||||
+ [[https://github.com/hlissner/doom-snippets/tree/master/go-mode][Snippets]]
|
- [[https://github.com/hlissner/doom-snippets/tree/master/go-mode][Snippets]]
|
||||||
+ Generate testing code (~go-gen-test~)
|
- Generate testing code (~go-gen-test~)
|
||||||
+ Code checking (~flycheck-golangci-lint~)
|
- Code checking (~flycheck-golangci-lint~)
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ =+lsp= Enables integration for the gopls LSP server. It is highly recommended
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
you use this, as the non-LSP experience is deprecated (and poor).
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/dominikh/go-mode.el][go-mode]]
|
- +lsp ::
|
||||||
+ [[https://github.com/syohex/emacs-go-eldoc][go-eldoc]]
|
Enable LSP support for ~go-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
+ [[https://github.com/dominikh/go-mode.el][go-guru]]
|
(supports gopls). Highly recommended, as the non-LSP experience is deprecated
|
||||||
+ [[https://github.com/manute/gorepl-mode][gorepl-mode]]
|
(and poor).
|
||||||
+ [[https://github.com/brantou/emacs-go-tag][go-tag]]
|
|
||||||
+ [[https://github.com/mdempsky/gocode][company-go]]* =DEPRECATED=
|
** Packages
|
||||||
+ [[https://github.com/s-kostyaev/go-gen-test][go-gen-test]]
|
- [[doom-package:][company-go]] if [[doom-module:][:completion company]] (DEPRECATED)
|
||||||
+ [[https://github.com/weijiangan/flycheck-golangci-lint][flycheck-golangci-lint]] (if =:checkers syntax= is enabled)
|
- [[doom-package:][flycheck-golangci-lint]] if [[doom-module:][:checkers syntax]]
|
||||||
|
- [[doom-package:][go-eldoc]]
|
||||||
|
- [[doom-package:][go-gen-test]]
|
||||||
|
- [[doom-package:][go-guru]]
|
||||||
|
- [[doom-package:][go-mode]]
|
||||||
|
- [[doom-package:][gorepl-mode]]
|
||||||
|
- [[doom-package:][go-tag]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires Go, a valid =$GOPATH=, and a number of go packages, listed
|
||||||
|
below.
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
** Go
|
** Go
|
||||||
To get started with Go, you need the ~go~ tool:
|
- macOS: ~$ brew install go~
|
||||||
|
- Arch Linux: ~$ pacman -S go~
|
||||||
*** MacOS
|
- openSUSE: ~$ zypper install go~
|
||||||
#+BEGIN_SRC bash
|
|
||||||
brew install go
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
*** Arch Linux
|
|
||||||
#+BEGIN_SRC bash
|
|
||||||
sudo pacman -S go
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
*** openSUSE
|
|
||||||
#+BEGIN_SRC sh :dir /sudo::
|
|
||||||
sudo zypper install go
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
** Dependencies
|
** Dependencies
|
||||||
This module requires a valid ~GOPATH~, and the following Go packages:
|
- ~gocode~ (for code completion & eldoc support)
|
||||||
|
- ~godoc~ (for documentation lookup)
|
||||||
|
- ~gorename~ (for extra refactoring commands)
|
||||||
|
- ~gore~ (for the REPL)
|
||||||
|
- ~guru~ (for code navigation & refactoring commands)
|
||||||
|
- ~goimports~ (/optional/: for auto-formatting code on save & fixing imports)
|
||||||
|
- ~gotests~ (for generate test code)
|
||||||
|
- ~gomodifytags~ (for manipulating tags)
|
||||||
|
|
||||||
+ ~gocode~ (for code completion & eldoc support)
|
#+begin_src sh
|
||||||
+ ~godoc~ (for documentation lookup)
|
|
||||||
+ ~gorename~ (for extra refactoring commands)
|
|
||||||
+ ~gore~ (for the REPL)
|
|
||||||
+ ~guru~ (for code navigation & refactoring commands)
|
|
||||||
+ ~goimports~ (optional: for auto-formatting code on save & fixing imports)
|
|
||||||
+ ~gotests~ (for generate test code)
|
|
||||||
+ ~gomodifytags~ (for manipulating tags)
|
|
||||||
|
|
||||||
#+BEGIN_SRC sh
|
|
||||||
export GOPATH=~/work/go
|
export GOPATH=~/work/go
|
||||||
|
|
||||||
go install github.com/x-motemen/gore/cmd/gore@latest
|
go install github.com/x-motemen/gore/cmd/gore@latest
|
||||||
|
@ -86,14 +79,29 @@ go install golang.org/x/tools/cmd/gorename@latest
|
||||||
go install golang.org/x/tools/cmd/guru@latest
|
go install golang.org/x/tools/cmd/guru@latest
|
||||||
go install github.com/cweill/gotests/gotests@latest
|
go install github.com/cweill/gotests/gotests@latest
|
||||||
go install github.com/fatih/gomodifytags@latest
|
go install github.com/fatih/gomodifytags@latest
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
+ ~golangci-lint~ (optional: for flycheck to integrate golangci-lint results)
|
- ~golangci-lint~ (optional: for flycheck to integrate golangci-lint results) it
|
||||||
it is recommended to *not* use ~go get~ to install this one, check the
|
is recommended to *not* use ~$ go get~ to install this one, check the
|
||||||
[[https://github.com/golangci/golangci-lint#binary-release][documentation]].
|
[[https://github.com/golangci/golangci-lint#binary-release][documentation]].
|
||||||
|
|
||||||
* TODO Features
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Troubleshooting
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,43 +1,43 @@
|
||||||
#+TITLE: lang/haskell
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang haskell][Issues]] ↖ [[doom-module-source:lang/haskell][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v0.7
|
#+TITLE: :lang haskell
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: A language that's lazier than I am
|
||||||
|
#+CREATED: March 29, 2016
|
||||||
|
#+SINCE: 0.9
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds Haskell support to Doom Emacs.
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
Adds Haskell support to Doom Emacs.
|
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ =+lsp= Enable LSP support with for [[https://github.com/haskell/haskell-language-server][haskell-language-server]] (requires the =:tools lsp= module).
|
- +lsp ::
|
||||||
|
Enable LSP support for ~haskell-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/haskell/haskell-language-server][haskell-language-server]]).
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/haskell/haskell-mode][haskell-mode]]
|
- [[doom-package:][haskell-mode]]
|
||||||
+ [[https://github.com/emacs-lsp/lsp-haskell][lsp-haskell]] (=+lsp=, =:tools lsp=)
|
- [[doom-package:][lsp-haskell]] if [[doom-module:][+lsp]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
It is recommended to install the haskell tooling using [[https://www.haskell.org/ghcup/][ghcup]]. Only ghc is needed
|
It is recommended to install the haskell tooling using [[https://www.haskell.org/ghcup/][ghcup]]. Only ghc is needed
|
||||||
for basic functionality:
|
for basic functionality:
|
||||||
|
|
||||||
#+BEGIN_SRC bash
|
#+begin_src sh
|
||||||
ghcup install ghc
|
ghcup install ghc
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
but =+lsp= users should also install the language server:
|
but =+lsp= users should also install the language server:
|
||||||
|
|
||||||
#+BEGIN_SRC bash
|
#+begin_src sh
|
||||||
ghcup install hls
|
ghcup install hls
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
Installing [[https://www.haskell.org/cabal/][cabal]] or [[https://docs.haskellstack.org/en/stable/README/][stack]] as well is recommended, and can be done through
|
Installing [[https://www.haskell.org/cabal/][cabal]] or [[https://docs.haskellstack.org/en/stable/README/][stack]] as well is recommended, and can be done through
|
||||||
=ghcup=.
|
=ghcup=.
|
||||||
|
@ -49,25 +49,44 @@ system package manager, cabal, or stack.
|
||||||
formatters such as [[https://github.com/lspitzner/brittany][brittany]], [[https://github.com/ennocramer/floskell][floskell]], [[https://github.com/tweag/ormolu][ormolu]], [[https://github.com/fourmolu/fourmolu][fourmolu]], and [[https://github.com/haskell/stylish-haskell][stylish-haskell]],
|
formatters such as [[https://github.com/lspitzner/brittany][brittany]], [[https://github.com/ennocramer/floskell][floskell]], [[https://github.com/tweag/ormolu][ormolu]], [[https://github.com/fourmolu/fourmolu][fourmolu]], and [[https://github.com/haskell/stylish-haskell][stylish-haskell]],
|
||||||
which can be installed through system package manager, cabal, or stack.
|
which can be installed through system package manager, cabal, or stack.
|
||||||
|
|
||||||
* Features
|
* TODO Usage
|
||||||
This module intergrates the haskell packages into Doom by providing things such
|
#+begin_quote
|
||||||
as repl support, project root recognition, etc. It also provide the following
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
This module integrates the haskell packages into Doom by providing things such
|
||||||
|
as REPL support, project root recognition, etc. It also provide the following
|
||||||
keybindings:
|
keybindings:
|
||||||
|
|
||||||
| Keybinding | Description |
|
| Keybinding | Description |
|
||||||
|-------------------+-----------------------------------------------|
|
|-----------------+-----------------------------------------------|
|
||||||
| =<localleader> b= | Build the current cabal project |
|
| [[kbd:][<localleader> b]] | Build the current cabal project |
|
||||||
| =<localleader> c= | Visit the =.cabal= file of the current buffer |
|
| [[kbd:][<localleader> c]] | Visit the =.cabal= file of the current buffer |
|
||||||
| =<localleader> h= | Toggle visibility of the form at point |
|
| [[kbd:][<localleader> h]] | Toggle visibility of the form at point |
|
||||||
| =<localleader> H= | hides all top level functions |
|
| [[kbd:][<localleader> H]] | hides all top level functions |
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
|
||||||
After installing your preferred formatter, make sure to set
|
After installing your preferred formatter, make sure to set
|
||||||
=lsp-haskell-formatting-provider= to it.
|
=lsp-haskell-formatting-provider= to it.
|
||||||
|
|
||||||
Make sure to configure the lsp to use your perfered formatter, e.g.:
|
Make sure to configure the lsp to use your perfered formatter, e.g.:
|
||||||
#+BEGIN_SRC elisp
|
#+begin_src emacs-lisp
|
||||||
;; ~/.doom.d/config.el
|
;; ~/.doom.d/config.el
|
||||||
(after!
|
(after!
|
||||||
(setq lsp-haskell-formatting-provider "brittany"))
|
(setq lsp-haskell-formatting-provider "brittany"))
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
51
modules/lang/hy/README.org
Normal file
51
modules/lang/hy/README.org
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang hy][Issues]] ↖ [[doom-module-source:lang/hy][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang hy
|
||||||
|
#+SUBTITLE: Lisp is better than ugly
|
||||||
|
#+CREATED: June 25, 2017
|
||||||
|
#+SINCE: 2.0.4 (#122)
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
/(No description yet)/
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][hy-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires [[https://docs.hylang.org/en/alpha/][Hy]].
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
|
@ -1,30 +1,56 @@
|
||||||
#+TITLE: lang/idris
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang idris][Issues]] ↖ [[doom-module-source:lang/idris][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: October 6, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.9
|
#+TITLE: :lang idris
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: A language you can depend on
|
||||||
|
#+CREATED: August 21, 2018
|
||||||
|
#+SINCE: 21.12.0 (#822)
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds rudimentary [[https://www.idris-lang.org/][Idris]] support to Doom Emacs.
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds rudimentary Idris support.
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
This module provides no flags.
|
/This module has no flags./
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
# A list of linked plugins
|
- [[doom-package:][idris-mode]]
|
||||||
+ [[https://github.com/idris-hackers/idris-mode/][idris-mode]]
|
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
This module has no prerequisites.
|
/No hacks documented for this module./
|
||||||
|
|
||||||
* Features
|
** TODO Changelog
|
||||||
In addition to =idris-mode= goodness, adds frequently used functions under the localleader key.
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /No installation steps have been documented./ [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
In addition to ~idris-mode~ goodness, adds frequently used functions under the
|
||||||
|
[[kbd:][<localleader>]] key.
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,148 +1,169 @@
|
||||||
#+TITLE: lang/java
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang java][Issues]] ↖ [[doom-module-source:lang/java][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v1.3
|
#+TITLE: :lang java
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: The poster child for carpal tunnel syndrome
|
||||||
|
#+CREATED: January 16, 2017
|
||||||
|
#+SINCE: 1.3
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds [[https://www.java.com][Java]] support to Doom Emacs, including ~android-mode~ and
|
||||||
- [[#module-flags][Module Flags]]
|
~groovy-mode~.
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#openjdk-11][OpenJDK 11]]
|
|
||||||
- [[#ubuntu][Ubuntu]]
|
|
||||||
- [[#fedora][Fedora]]
|
|
||||||
- [[#oracle-jdk-11][Oracle JDK 11]]
|
|
||||||
- [[#ubuntu-1][Ubuntu]]
|
|
||||||
- [[#fedora-1][Fedora]]
|
|
||||||
- [[#multiple-java-versions][Multiple Java Versions]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#lsp-features][=+lsp= features]]
|
|
||||||
- [[#meghanada-features][=+meghanada= features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#lsp][=+lsp=]]
|
|
||||||
|
|
||||||
* Description
|
** Maintainers
|
||||||
This module adds [[https://www.java.com][java]] support to Doom Emacs, including =android-mode= and
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
=groovy-mode=.
|
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ =+lsp= Enables integration for the eclipse.jdt.ls LSP server.
|
- +lsp ::
|
||||||
+ =+meghanada= Enables the [[https://github.com/mopemope/meghanada-emacs/tree/master][meghanada-mode]]
|
Enable LSP support for ~java-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports eclipse.jdt.ls). *Incompatible with [[doom-module:][+meghanada]].*
|
||||||
|
- +meghanada ::
|
||||||
|
Enable [[doom-package:][meghanada-mode]]. *Incompatible with [[doom-module:][+lsp]].*
|
||||||
|
|
||||||
The =+lsp= and =+meghanada= packages are mutually exclusive and do not work
|
** Packages
|
||||||
together. At the time of writing the =+meghanada= is already configured whereas
|
- [[doom-package:][android-mode]]
|
||||||
=+lsp= needs to manual configuring.
|
- [[doom-package:][groovy-mode]]
|
||||||
|
- [[doom-package:][meghanada]] if [[doom-module:][+meghanada]]
|
||||||
|
- if [[doom-module:][+eclim]]
|
||||||
|
- [[doom-package:][eclim]]
|
||||||
|
- [[doom-package:][company-emacs-eclim]] if [[doom-module:][:completion company]]
|
||||||
|
- if [[doom-module:][+lsp]] and not [[doom-module:][:tools lsp +eglot]]
|
||||||
|
- [[doom-package:][lsp-java]]
|
||||||
|
|
||||||
The =lsp= test runner requires that =:tools (debugger +lsp)= is enabled, as this
|
** Hacks
|
||||||
provides =dap-mode= which contains the Java test runner.
|
/No hacks documented for this module./
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
This module requires the Java SDK.
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires:
|
||||||
|
- [[https://www.oracle.com/java/technologies/downloads/][Java SDK]]
|
||||||
|
- The LSP test runner requires [[doom-module:][:tools debugger +lsp]] (requires [[doom-package:][dap-mode]])
|
||||||
|
|
||||||
** OpenJDK 11
|
** OpenJDK 11
|
||||||
*** Ubuntu
|
*** Ubuntu
|
||||||
#+BEGIN_SRC sh
|
#+begin-src sh
|
||||||
sudo apt-get install openjdk-11-jdk-headless
|
apt-get install openjdk-11-jdk-headless
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
*** Fedora
|
*** Fedora
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
sudo dnf install java-11-openjdk
|
dnf install java-11-openjdk
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Oracle JDK 11
|
** Oracle JDK 11
|
||||||
*** Ubuntu
|
*** Ubuntu
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
sudo add-apt-repository ppa:linuxuprising/java
|
add-apt-repository ppa:linuxuprising/java
|
||||||
sudo apt update
|
apt update
|
||||||
sudo apt install oracle-java11-installer
|
apt install oracle-java11-installer
|
||||||
sudo apt install oracle-java11-set-default
|
apt install oracle-java11-set-default
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
*** Fedora
|
*** Fedora
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
curl -O https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
|
curl -O https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
|
||||||
tar zxvf openjdk-11.0.2_linux-x64_bin.tar.gz
|
tar zxvf openjdk-11.0.2_linux-x64_bin.tar.gz
|
||||||
sudo mv jdk-11.0.2/ /usr/local/
|
sudo mv jdk-11.0.2/ /usr/local/
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
Open =/etc/profile.d/jdk11.sh= as root and add
|
Open =/etc/profile.d/jdk11.sh= as root and add:
|
||||||
|
#+begin_src sh
|
||||||
#+BEGIN_SRC sh
|
|
||||||
export JAVA_HOME=/usr/local/jdk-11.0.2
|
export JAVA_HOME=/usr/local/jdk-11.0.2
|
||||||
export PATH=$PATH:$JAVA_HOME/bin
|
export PATH=$PATH:$JAVA_HOME/bin
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
Save the file and source the file
|
Save the file and source it:
|
||||||
|
#+begin_src sh
|
||||||
#+BEGIN_SRC sh
|
|
||||||
source /etc/profile.d/jdk11.sh
|
source /etc/profile.d/jdk11.sh
|
||||||
java -version
|
java -version
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Multiple Java Versions
|
** Multiple Java Versions
|
||||||
It is common to need support for multiple Java versions. You can use a generic
|
It is common to need support for multiple Java versions. You can use a generic
|
||||||
tool like [[https://github.com/shyiko/jabba][jabba]] to install and manage multiple Java versions on any OS.
|
tool like [[https://github.com/shyiko/jabba][jabba]] to install and manage multiple Java versions on any OS.
|
||||||
|
|
||||||
To switch between Java versions in Doom, you can use [[https://github.com/direnv/direnv][direnv]] and the [[file:~/.emacs.d/modules/tools/direnv/README.org::+TITLE: tools/direnv][direnv module]]. To set a
|
To have a different version of Java per-project, it is recommended you use
|
||||||
Java version for a particular project, create a =.envrc= pointing to the Java
|
[[https://github.com/direnv/direnv][direnv]] and [[doom-module:][:tools direnv]]; create a =.envrc= in the root of the project pointing
|
||||||
installation in the root of the project:
|
to the Java installation:
|
||||||
|
#+begin_src sh
|
||||||
#+BEGIN_SRC conf-unix
|
|
||||||
PATH_add ~/.jabba/jdk/adopt@1.11.0-3
|
PATH_add ~/.jabba/jdk/adopt@1.11.0-3
|
||||||
JAVA_HOME=~/.jabba/jdk/adopt@1.11.0-3
|
JAVA_HOME=~/.jabba/jdk/adopt@1.11.0-3
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
And then run =direnv allow .= in the project directory. If the =direnv= module
|
And then run ~$ direnv allow .~ in the project directory. The [[doom-module:][:tools direnv]]
|
||||||
is enabled, then Doom will automatically source this environment before
|
module will automatically source this environment before activating LSP servers.
|
||||||
executing the LSP server.
|
|
||||||
|
|
||||||
* Features
|
* TODO Usage
|
||||||
** =+lsp= features
|
#+begin_quote
|
||||||
According to [[https://github.com/emacs-lsp/lsp-java]] it adds
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
+ As you type reporting of parsing and compilation errors (via flycheck/[[https://github.com/emacs-lsp/lsp-ui][lsp-ui]])
|
** [[doom-module:][+lsp]] features
|
||||||
+ Code completion - using [[https://github.com/tigersoldier/company-lsp][company-lsp]] or builtin complete-at-point
|
According to [[https://github.com/emacs-lsp/lsp-java]], you get:
|
||||||
+ Javadoc hovers - using [[https://github.com/emacs-lsp/lsp-ui][lsp-ui]]
|
- As you type reporting of parsing and compilation errors (via [[doom-package:][flycheck]] or
|
||||||
+ Code actions - using [[https://github.com/emacs-lsp/lsp-ui][lsp-ui]]
|
[[doom-package:][lsp-ui]])
|
||||||
+ Code outline - using builtin [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Imenu.html][imenu]]
|
- Code completion ([[doom-package:][company-lsp]] or complete-at-point)
|
||||||
+ Code navigation - using builtin [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Xref.html][xref]]
|
- Javadoc hovers ([[doom-package:][lsp-ui]])
|
||||||
+ Code lens (references/implementations) - using builtin [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Xref.html][xref]]
|
- Code actions ([[doom-package:][lsp-ui]])
|
||||||
+ Highlights
|
- Code outline ([[doom-package:][imenu]])
|
||||||
+ Code formatting
|
- Code navigation ([[doom-package:][xref]])
|
||||||
+ Maven pom.xml project support
|
- Code lens for references/implementations ([[doom-package:][xref]])
|
||||||
+ Limited Gradle support
|
- Highlights
|
||||||
+ Visual debugger - [[https://github.com/yyoncho/dap-mode/][dap-mode]]
|
- Code formatting
|
||||||
+ Test runner - [[https://github.com/yyoncho/dap-mode/][dap-mode]]
|
- Maven pom.xml project support
|
||||||
+ Project explorer integration - [[https://github.com/Alexander-Miller/treemacs][treemacs]]
|
- Limited Gradle support
|
||||||
+ Integration with [[https://start.spring.io/][Spring Initializr]]
|
- Visual debugger ([[doom-package:][dap-mode]])
|
||||||
|
- Test runner ([[doom-package:][dap-mode]])
|
||||||
|
- Project explorer integration ([[doom-package:][treemacs]])
|
||||||
|
- Integration with [[https://start.spring.io/][Spring Initializr]]
|
||||||
|
|
||||||
** =+meghanada= features
|
** =+meghanada= features
|
||||||
According to [[https://github.com/mopemope/meghanada-emacs/]] it adds
|
According to [[https://github.com/mopemope/meghanada-emacs/]], you get:
|
||||||
|
- Auto-update server module
|
||||||
|
- [[https://gradle.org/][Gradle]] and [[http://maven.apache.org/][Maven]] and Eclipse project support
|
||||||
|
- No need build tool's plugin
|
||||||
|
- Run build tool task
|
||||||
|
- Compile your project
|
||||||
|
- Syntax check and analyze java source ([[doom-package:][flycheck-meghanada]])
|
||||||
|
- Support =Generic Types=
|
||||||
|
- Code completion with [[doom-package:][company-mode]] ([[doom-package:][company-meghanada]])
|
||||||
|
- Optimize import and sort
|
||||||
|
- Jump declaration
|
||||||
|
- Run [[http://www.junit.org/][JUnit]] test (include test runner)
|
||||||
|
- Diagnostic reporting with [[doom-package:][flycheck]] ([[doom-package:][flycheck-meghanada]])
|
||||||
|
- Show symbol's type info with [[doom-package:][eldoc]]
|
||||||
|
- Search references
|
||||||
|
- Full-featured text search
|
||||||
|
|
||||||
+ Auto-update server module
|
* TODO Configuration
|
||||||
+ [[https://gradle.org/][Gradle]] and [[http://maven.apache.org/][Maven]] and Eclipse project support
|
#+begin_quote
|
||||||
+ No need build tool's plugin
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
+ Run build tool task
|
#+end_quote
|
||||||
+ Compile your project
|
|
||||||
+ Syntax check and analyze java source (=flycheck-meghanada=)
|
|
||||||
+ Support =Generic Types=
|
|
||||||
+ Code completion with [[http://company-mode.github.io/][company-mode]] (=company-meghanada=)
|
|
||||||
+ Optimize import and sort
|
|
||||||
+ Jump declaration
|
|
||||||
+ Run [[http://www.junit.org/][JUnit]] test (include test runner)
|
|
||||||
+ Diagnostic reporting with [[http://flycheck.org/][flycheck]] (=flycheck-meghanada=)
|
|
||||||
+ Show symbol's type info with =el-doc=
|
|
||||||
+ Search references
|
|
||||||
+ Full-featured text search
|
|
||||||
|
|
||||||
* Configuration
|
** [[doom-module:][+lsp]]
|
||||||
** =+lsp=
|
Install the eclipse server by executing ~M-x lsp-install-server~ and selecting
|
||||||
Install the eclipse server by executing =M-x lsp-install-server= and selecting
|
|
||||||
=jdtls=. After that any newly opened =java= files should start the LSP server
|
=jdtls=. After that any newly opened =java= files should start the LSP server
|
||||||
automatically.
|
automatically.
|
||||||
|
|
||||||
To update the server, perform =SPC u M-x lsp-install-server=.
|
To update the server, perform ~SPC u M-x lsp-install-server~.
|
||||||
|
|
||||||
Note that if you change Java version you may need to remove the LSP server and
|
Note that if you change Java version you may need to remove the LSP server and
|
||||||
install it again. You can do this with =M-x +lsp/uninstall-server= followed by
|
install it again. You can do this with ~M-x +lsp/uninstall-server~ followed by
|
||||||
=M-x lsp-install-server=.
|
~M-x lsp-install-server~.
|
||||||
|
|
||||||
Enable the =:tools (debugger +lsp)= module to get test runner support.
|
Enable the [[doom-module:][:tools debugger +lsp]] module to get test runner support.
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,146 +1,160 @@
|
||||||
#+TITLE: lang/javascript
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang javascript][Issues]] ↖ [[doom-module-source:lang/javascript][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0
|
#+TITLE: :lang javascript
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: all(hope(abandon(ye(who(enter(here))))))
|
||||||
|
#+CREATED: January 16, 2017
|
||||||
|
#+SINCE: 1.3
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds [[https://www.javascript.com/][JavaScript]] and [[https://www.typescriptlang.org/][TypeScript]] support to Doom Emacs.
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#packages][Packages]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#macos][MacOS]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#opensuse][openSUSE]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
- [[#tide-sort-completions-by-kind-isnt-respected][~tide-sort-completions-by-kind~ isn't respected]]
|
|
||||||
- [[#appendix][Appendix]]
|
|
||||||
- [[#commands][Commands]]
|
|
||||||
|
|
||||||
* Description
|
- Code completion ([[doom-package:][tide]])
|
||||||
This module adds JavaScript and TypeScript support.
|
- REPL support ([[doom-package:][nodejs-repl]])
|
||||||
|
- Refactoring commands ([[doom-package:][js2-refactor]])
|
||||||
|
- Syntax checking ([[doom-package:][flycheck]])
|
||||||
|
- Browser code injection with [[doom-package:][skewer-mode]]
|
||||||
|
- Coffeescript & JSX support
|
||||||
|
- Jump-to-definitions and references support ([[doom-package:][xref]])
|
||||||
|
|
||||||
+ Code completion (tide)
|
** Maintainers
|
||||||
+ REPL support (nodejs-repl)
|
- [[doom-user:][@hlissner]]
|
||||||
+ Refactoring commands (js2-refactor)
|
|
||||||
+ Syntax checking (flycheck)
|
|
||||||
+ Browser code injection with skewer-mode
|
|
||||||
+ Coffeescript & JSX support
|
|
||||||
+ Jump-to-definitions and references support (xref)
|
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ =+lsp= Enables LangServer support for this module. You must have =:tools lsp=
|
|
||||||
enabled for this to work, as well as the langserver (e.g.
|
** Module flags
|
||||||
typescript-language-server) installed on your system.
|
- +lsp ::
|
||||||
|
Enable LSP support for ~js2-mode~, ~rjsx-mode~, JS in ~web-mode~, and
|
||||||
|
~typescript-mode~. Requires [[doom-module:][:tools lsp]] and a langserver (supports ts-ls and
|
||||||
|
deno-ls).
|
||||||
|
|
||||||
** Packages
|
** Packages
|
||||||
+ [[https://github.com/defunkt/coffee-mode][coffee-mode]]
|
- [[doom-package:][js2-refactor]]
|
||||||
+ [[https://github.com/mooz/js2-mode][js2-mode]]
|
- [[doom-package:][nodejs-repl]]
|
||||||
+ [[https://github.com/felipeochoa/rjsx-mode][rjsx-mode]]
|
- [[doom-package:][npm-mode]]
|
||||||
+ [[https://github.com/emacs-typescript/typescript.el][typescript-mode]]
|
- [[doom-package:][rjsx-mode]]
|
||||||
+ [[https://github.com/magnars/js2-refactor.el][js2-refactor]]
|
- [[doom-package:][skewer-mode]] (DEPRECATED)
|
||||||
+ [[https://github.com/mojochao/npm-mode][npm-mode]]
|
- [[doom-package:][tide]]
|
||||||
+ [[https://github.com/abicky/nodejs-repl.el][nodejs-repl]]
|
- [[doom-package:][typescript-mode]]
|
||||||
+ [[https://github.com/skeeto/skewer-mode][skewer-mode]]
|
- [[doom-package:][xref-js2]] if [[doom-module:][:tools lookup]]
|
||||||
+ [[https://github.com/ananthakumaran/tide][tide]]
|
|
||||||
+ [[https://github.com/NicolasPetton/xref-js2][xref-js2]]*
|
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Hacks
|
||||||
Many of this modules' plugins require ~node~ and either ~npm~ or ~yarn~
|
#+begin_quote
|
||||||
installed.
|
🔨 This module's hacks haven't been documented yet. [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
** MacOS
|
** TODO Changelog
|
||||||
#+BEGIN_SRC sh :tangle (if (doom-system-os 'macos) "yes")
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
brew install node
|
/This module does not have a changelog yet./
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
** Arch Linux
|
* Installation
|
||||||
#+BEGIN_SRC sh :dir /sudo:: :tangle (if (doom-system-os 'arch) "yes")
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
sudo pacman --needed --noconfirm -S nodejs npm
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
** openSUSE
|
This module requires [[https://nodejs.org/en/][NodeJS]] and one of [[https://www.npmjs.com/][NPM]] or [[https://yarnpkg.com/][Yarn]] in your =$PATH=.
|
||||||
#+BEGIN_SRC sh :dir /sudo::
|
|
||||||
sudo zypper install nodejs npm
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
* Troubleshooting
|
- MacOS: ~$ brew install node~
|
||||||
** ~tide-sort-completions-by-kind~ isn't respected
|
- Arch Linux: ~$ pacman --needed --noconfirm -S nodejs npm~
|
||||||
The =:completion company= module uses =company-prescient= to sort completion by
|
- openSUSE: ~$ zypper install nodejs npm~
|
||||||
[[https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Frecency_algorithm][frecency]], which overrules specialized sorting provided by some company backends
|
|
||||||
(like ~company-tide~).
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
~rjsx-mode~ is used for all javascript buffers.
|
||||||
|
|
||||||
* Appendix
|
|
||||||
** Commands
|
** Commands
|
||||||
*** JS2-mode
|
*** rjsx-mode
|
||||||
| command | key / ex command | description |
|
| command | key / ex command | description |
|
||||||
|----------------------------------+------------------+------------------------------------------------------------|
|
|----------------------------------+------------------+------------------------------------------------------------|
|
||||||
| ~+javascript/open-repl~ | =:repl= | Open the NodeJS REPL (or send the current selection to it) |
|
| ~+javascript/open-repl~ | ~:repl~ | Open the NodeJS REPL (or send the current selection to it) |
|
||||||
| ~+javascript/skewer-this-buffer~ | =SPC m S= | Attaches a browser to the current buffer |
|
| ~+javascript/skewer-this-buffer~ | [[kbd:][<localleader> S]] | Attaches a browser to the current buffer |
|
||||||
|
|
||||||
*** Tide
|
*** Tide
|
||||||
| command | key / ex command | description |
|
| command | key / ex command | description |
|
||||||
|-------------------------+------------------+------------------------|
|
|-------------------------+---------------------+------------------------|
|
||||||
| ~tide-restart-server~ | =SPC m R= | Restart tide server |
|
| ~tide-restart-server~ | [[kbd:][<localleader> R]] | Restart tide server |
|
||||||
| ~tide-reformat~ | =SPC m f= | Reformat region |
|
| ~tide-reformat~ | [[kbd:][<localleader> f]] | Reformat region |
|
||||||
| ~tide-rename-symbol~ | =SPC m r r s= | Rename symbol at point |
|
| ~tide-rename-symbol~ | [[kbd:][<localleader> r r s]] | Rename symbol at point |
|
||||||
| ~tide-organize-imports~ | =SPC m r o i= | Organize imports |
|
| ~tide-organize-imports~ | [[kbd:][<localleader> r o i]] | Organize imports |
|
||||||
|
|
||||||
*** Refactoring (js2-refactor-mode)
|
*** Refactoring (js2-refactor-mode)
|
||||||
| command | key / ex command | description |
|
| command | key / ex command | description |
|
||||||
|---------------------------------------------------+------------------+--------------------------------------------------------------------------------------------------------------------|
|
|---------------------------------------------------+---------------------+--------------------------------------------------------------------------------------------------------------------|
|
||||||
| ~js2r-expand-node-at-point~ | =SPC m r e e= | Expand bracketed list according to node type at point |
|
| ~js2r-expand-node-at-point~ | [[kbd:][<localleader> r e e]] | Expand bracketed list according to node type at point |
|
||||||
| ~js2r-contract-node-at-point~ | =SPC m r c c= | Contract bracketed list according to node type at point |
|
| ~js2r-contract-node-at-point~ | [[kbd:][<localleader> r c c]] | Contract bracketed list according to node type at point |
|
||||||
| ~js2r-extract-function~ | =SPC m r e f= | Extracts the marked expressions out into a new named function. |
|
| ~js2r-extract-function~ | [[kbd:][<localleader> r e f]] | Extracts the marked expressions out into a new named function. |
|
||||||
| ~js2r-extract-method~ | =SPC m r e m= | Extracts the marked expressions out into a new named method in an object literal. |
|
| ~js2r-extract-method~ | [[kbd:][<localleader> r e m]] | Extracts the marked expressions out into a new named method in an object literal. |
|
||||||
| ~js2r-toggle-function-expression-and-declaration~ | =SPC m r t f= | Toggle between function name() {} and var name = function (); |
|
| ~js2r-toggle-function-expression-and-declaration~ | [[kbd:][<localleader> r t f]] | Toggle between function name() {} and var name = function (); |
|
||||||
| ~js2r-toggle-arrow-function-and-expression~ | =SPC m r t a= | Toggle between function expression to arrow function. |
|
| ~js2r-toggle-arrow-function-and-expression~ | [[kbd:][<localleader> r t a]] | Toggle between function expression to arrow function. |
|
||||||
| ~js2r-toggle-function-async~ | =SPC m r t s= | Toggle between an async and a regular function. |
|
| ~js2r-toggle-function-async~ | [[kbd:][<localleader> r t s]] | Toggle between an async and a regular function. |
|
||||||
| ~js2r-introduce-parameter~ | =SPC m r i p= | Changes the marked expression to a parameter in a local function. |
|
| ~js2r-introduce-parameter~ | [[kbd:][<localleader> r i p]] | Changes the marked expression to a parameter in a local function. |
|
||||||
| ~js2r-localize-parameter~ | =SPC m r l p= | Changes a parameter to a local var in a local function. |
|
| ~js2r-localize-parameter~ | [[kbd:][<localleader> r l p]] | Changes a parameter to a local var in a local function. |
|
||||||
| ~js2r-wrap-buffer-in-iife~ | =SPC m r w i= | Wraps the entire buffer in an immediately invoked function expression |
|
| ~js2r-wrap-buffer-in-iife~ | [[kbd:][<localleader> r w i]] | Wraps the entire buffer in an immediately invoked function expression |
|
||||||
| ~js2r-inject-global-in-iife~ | =SPC m r i g= | Creates a shortcut for a marked global by injecting it in the wrapping immediately invoked function expression |
|
| ~js2r-inject-global-in-iife~ | [[kbd:][<localleader> r i g]] | Creates a shortcut for a marked global by injecting it in the wrapping immediately invoked function expression |
|
||||||
| ~js2r-add-to-globals-annotation~ | =SPC m r a g= | Creates a /*global */ annotation if it is missing, and adds the var at point to it. |
|
| ~js2r-add-to-globals-annotation~ | [[kbd:][<localleader> r a g]] | Creates a /*global */ annotation if it is missing, and adds the var at point to it. |
|
||||||
| ~js2r-extract-var~ | =SPC m r e v= | Takes a marked expression and replaces it with a var. |
|
| ~js2r-extract-var~ | [[kbd:][<localleader> r e v]] | Takes a marked expression and replaces it with a var. |
|
||||||
| ~js2r-extract-let~ | =SPC m r e l= | Similar to extract-var but uses a let-statement. |
|
| ~js2r-extract-let~ | [[kbd:][<localleader> r e l]] | Similar to extract-var but uses a let-statement. |
|
||||||
| ~js2r-extract-const~ | =SPC m r e c= | Similar to extract-var but uses a const-statement. |
|
| ~js2r-extract-const~ | [[kbd:][<localleader> r e c]] | Similar to extract-var but uses a const-statement. |
|
||||||
| ~js2r-inline-var~ | =SPC m r i v= | Replaces all instances of a variable with its initial value. |
|
| ~js2r-inline-var~ | [[kbd:][<localleader> r i v]] | Replaces all instances of a variable with its initial value. |
|
||||||
| ~js2r-rename-var~ | =SPC m r r v= | Renames the variable on point and all occurrences in its lexical scope. |
|
| ~js2r-rename-var~ | [[kbd:][<localleader> r r v]] | Renames the variable on point and all occurrences in its lexical scope. |
|
||||||
| ~js2r-var-to-this~ | =SPC m r v t= | Changes local var a to be this.a instead. |
|
| ~js2r-var-to-this~ | [[kbd:][<localleader> r v t]] | Changes local var a to be this.a instead. |
|
||||||
| ~js2r-arguments-to-object~ | =SPC m r a o= | Replaces arguments to a function call with an object literal of named arguments. |
|
| ~js2r-arguments-to-object~ | [[kbd:][<localleader> r a o]] | Replaces arguments to a function call with an object literal of named arguments. |
|
||||||
| ~js2r-ternary-to-if~ | =SPC m r 3 i= | Converts ternary operator to if-statement. |
|
| ~js2r-ternary-to-if~ | [[kbd:][<localleader> r 3 i]] | Converts ternary operator to if-statement. |
|
||||||
| ~js2r-split-var-declaration~ | =SPC m r s v= | Splits a var with multiple vars declared, into several var statements. |
|
| ~js2r-split-var-declaration~ | [[kbd:][<localleader> r s v]] | Splits a var with multiple vars declared, into several var statements. |
|
||||||
| ~js2r-split-string~ | =SPC m r s s= | Splits a string. |
|
| ~js2r-split-string~ | [[kbd:][<localleader> r s s]] | Splits a string. |
|
||||||
| ~js2r-string-to-template~ | =SPC m r s t= | Converts a string into a template string. |
|
| ~js2r-string-to-template~ | [[kbd:][<localleader> r s t]] | Converts a string into a template string. |
|
||||||
| ~js2r-unwrap~ | =SPC m r u w= | Replaces the parent statement with the selected region. |
|
| ~js2r-unwrap~ | [[kbd:][<localleader> r u w]] | Replaces the parent statement with the selected region. |
|
||||||
| ~js2r-log-this~ | =SPC m r l t= | Adds a console.log() statement for what is at point (or region). With a prefix argument, use JSON pretty-printing. |
|
| ~js2r-log-this~ | [[kbd:][<localleader> r l t]] | Adds a console.log() statement for what is at point (or region). With a prefix argument, use JSON pretty-printing. |
|
||||||
| ~js2r-debug-this~ | =SPC m r d t= | Adds a debug() statement for what is at point (or region). |
|
| ~js2r-debug-this~ | [[kbd:][<localleader> r d t]] | Adds a debug() statement for what is at point (or region). |
|
||||||
| ~js2r-forward-slurp~ | =SPC m r s l= | Moves the next statement into current function, if-statement, for-loop or while-loop. |
|
| ~js2r-forward-slurp~ | [[kbd:][<localleader> r s l]] | Moves the next statement into current function, if-statement, for-loop or while-loop. |
|
||||||
| ~js2r-forward-barf~ | =SPC m r b a= | Moves the last child out of current function, if-statement, for-loop or while-loop. |
|
| ~js2r-forward-barf~ | [[kbd:][<localleader> r b a]] | Moves the last child out of current function, if-statement, for-loop or while-loop. |
|
||||||
| ~js2r-kill~ | =SPC m r k= | Kills to the end of the line, but does not cross semantic boundaries. |
|
| ~js2r-kill~ | [[kbd:][<localleader> r k]] | Kills to the end of the line, but does not cross semantic boundaries. |
|
||||||
|
|
||||||
*** skewer-mode
|
*** skewer-mode
|
||||||
**** general
|
**** general
|
||||||
| command | key / ex command | description |
|
| command | key / ex command | description |
|
||||||
|-------------------------------+------------------+---------------------------------------|
|
|-------------------------------+-------------------+---------------------------------------|
|
||||||
| ~skewer-eval-last-expression~ | =SPC m s E= | Evaluate last expression |
|
| ~skewer-eval-last-expression~ | [[kbd:][<localleader> s E]] | Evaluate last expression |
|
||||||
| ~skewer-eval-defun~ | =SPC m s e= | Evaluate function definition at point |
|
| ~skewer-eval-defun~ | [[kbd:][<localleader> s e]] | Evaluate function definition at point |
|
||||||
| ~skewer-load-buffer~ | =SPC m s f= | Load buffer into REPL |
|
| ~skewer-load-buffer~ | [[kbd:][<localleader> s f]] | Load buffer into REPL |
|
||||||
|
|
||||||
**** css
|
**** css
|
||||||
| command | key / ex command | description |
|
| command | key / ex command | description |
|
||||||
|---------------------------------------+------------------+-------------------------------|
|
|---------------------------------------+-------------------+-------------------------------|
|
||||||
| ~skewer-css-eval-current-declaration~ | =SPC m s e= | Evaluate declaration at point |
|
| ~skewer-css-eval-current-declaration~ | [[kbd:][<localleader> s e]] | Evaluate declaration at point |
|
||||||
| ~skewer-css-eval-current-rule~ | =SPC m s r= | Evaluate rule at point |
|
| ~skewer-css-eval-current-rule~ | [[kbd:][<localleader> s r]] | Evaluate rule at point |
|
||||||
| ~skewer-css-eval-buffer~ | =SPC m s b= | Evaluate buffer |
|
| ~skewer-css-eval-buffer~ | [[kbd:][<localleader> s b]] | Evaluate buffer |
|
||||||
| ~skewer-css-clear-all~ | =SPC m s c= | Clear all rules |
|
| ~skewer-css-clear-all~ | [[kbd:][<localleader> s c]] | Clear all rules |
|
||||||
|
|
||||||
**** html
|
**** html
|
||||||
| command | key / ex command | description |
|
| command | key / ex command | description |
|
||||||
|------------------------+------------------+-----------------------|
|
|------------------------+-------------------+-----------------------|
|
||||||
| ~skewer-html-eval-tag~ | =SPC m s e= | Evaluate tag at point |
|
| ~skewer-html-eval-tag~ | [[kbd:][<localleader> s e]] | Evaluate tag at point |
|
||||||
|
|
||||||
*** npm-mode
|
*** npm-mode
|
||||||
| command | key / ex command | description |
|
| command | key / ex command | description |
|
||||||
|---------------------------------+------------------+------------------------------------------------------------------|
|
|---------------------------------+-------------------+------------------------------------------------------------------|
|
||||||
| ~npm-mode-npm-init~ | =SPC m n n= | Initialize npm project |
|
| ~npm-mode-npm-init~ | [[kbd:][<localleader> n n]] | Initialize npm project |
|
||||||
| ~npm-mode-npm-install~ | =SPC m n i= | Install npm package |
|
| ~npm-mode-npm-install~ | [[kbd:][<localleader> n i]] | Install npm package |
|
||||||
| ~npm-mode-npm-install-save~ | =SPC m n s= | Install npm package and save to package.json |
|
| ~npm-mode-npm-install-save~ | [[kbd:][<localleader> n s]] | Install npm package and save to package.json |
|
||||||
| ~npm-mode-npm-install-save-dev~ | =SPC m n d= | Install npm package and save to package.json as a dev dependency |
|
| ~npm-mode-npm-install-save-dev~ | [[kbd:][<localleader> n d]] | Install npm package and save to package.json as a dev dependency |
|
||||||
| ~npm-mode-npm-uninstall~ | =SPC m n u= | Uninstall npm package |
|
| ~npm-mode-npm-uninstall~ | [[kbd:][<localleader> n u]] | Uninstall npm package |
|
||||||
| ~npm-mode-npm-list~ | =SPC m n l= | List npm packages |
|
| ~npm-mode-npm-list~ | [[kbd:][<localleader> n l]] | List npm packages |
|
||||||
| ~npm-mode-npm-run~ | =SPC m n r= | Run npm task |
|
| ~npm-mode-npm-run~ | [[kbd:][<localleader> n r]] | Run npm task |
|
||||||
| ~npm-mode-visit-project-file~ | =SPC m n v= | Find file in npm project |
|
| ~npm-mode-visit-project-file~ | [[kbd:][<localleader> n v]] | Find file in npm project |
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,40 +1,55 @@
|
||||||
#+TITLE: lang/json
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang json][Issues]] ↖ [[doom-module-source:lang/json][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: April 23, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v3.0.0
|
#+TITLE: :lang json
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: At least it ain't XML
|
||||||
|
#+CREATED: April 23, 2020
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds [[https://www.json.org/json-en.html][JSON]] support to Doom Emacs.
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module provides JSON support.
|
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ =+lsp= Enable integration with LSP servers, if one is available. Requires the
|
- +lsp ::
|
||||||
=:tools lsp= module to be enabled.
|
Enable LSP support for ~json-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/vscode-langservers/vscode-json-languageserver][vscode-json-languageserver]]).
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/joshwnj/json-mode][json-mode]]
|
- [[doom-package:][counsel-jq]] if [[doom-module:][:completion ivy]]
|
||||||
+ [[https://github.com/Sterlingg/json-snatcher][json-snatcher]]
|
- [[doom-package:][json-mode]]
|
||||||
|
- [[doom-package:][json-snatcher]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
This module has no prerequisites.
|
/No hacks documented for this module./
|
||||||
|
|
||||||
* TODO Features
|
** TODO Changelog
|
||||||
# An in-depth list of features, how to use them, and their dependencies.
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
/This module has no external requirements./
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
# How to configure this module, including common problems and how to address them.
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Troubleshooting
|
* Troubleshooting
|
||||||
# Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,109 +1,129 @@
|
||||||
#+TITLE: lang/julia
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang julia][Issues]] ↖ [[doom-module-source:lang/julia][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: April 8, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v1.3
|
#+TITLE: :lang julia
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: A better, faster MATLAB
|
||||||
|
#+CREATED: April 08, 2020
|
||||||
|
#+SINCE: 1.3
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#language-server][Language Server]]
|
|
||||||
- [[#lsp-julia][~lsp-julia~]]
|
|
||||||
- [[#eglot-jl][~eglot-jl~]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#language-server-1][Language Server]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#change-the-default-environment-for-the-julia-language-server][Change the default environment for the Julia language server]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds support for [[https://julialang.org/][the Julia language]] to Doom Emacs.
|
This module adds support for [[https://julialang.org/][the Julia language]] to Doom Emacs.
|
||||||
|
|
||||||
+ Syntax highlighting and latex symbols from ~julia-mode~
|
- Syntax highlighting and latex symbols from [[doom-package:][julia-mode]]
|
||||||
+ REPL integration from ~julia-repl~
|
- REPL integration from [[doom-package:][julia-repl]]
|
||||||
+ Code completion and syntax checking, requires ~:tools lsp~ and ~+lsp~
|
- Code completion and syntax checking, requires [[doom-module:][:tools lsp]] and [[doom-module:][+lsp]]
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ =+lsp= Enable LSP server support.
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/JuliaEditorSupport/julia-emacs/][julia-mode]]
|
- +lsp ::
|
||||||
+ [[https://github.com/tpapp/julia-repl][julia-repl]]
|
Enable LSP support for ~julia-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
+ =+lsp= and =:tools lsp=
|
(supports LanguageServer.jl).
|
||||||
+ [[https://github.com/non-jedi/lsp-julia][lsp-julia]]
|
|
||||||
+ [[https://github.com/emacs-lsp/lsp-mode][lsp]]
|
|
||||||
+ =+lsp= and =:tools lsp +eglot=
|
|
||||||
+ [[https://github.com/non-jedi/eglot-jl][eglot-jl]]
|
|
||||||
+ [[https://github.com/joaotavora/eglot][eglot]]
|
|
||||||
|
|
||||||
* Prerequisites
|
** Packages
|
||||||
This module requires =julia= and an language server if =+lsp= is enabled.
|
- [[doom-package:][julia-mode]]
|
||||||
|
- [[doom-package:][julia-repl]]
|
||||||
|
- if [[doom-package:][+lsp]]
|
||||||
|
- if [[doom-module:][:tools lsp]]
|
||||||
|
- [[doom-package:][lsp-julia]]
|
||||||
|
- [[doom-package:][lsp]]
|
||||||
|
- if [[doom-module:][:tools lsp +eglot]]
|
||||||
|
- [[doom-package:][eglot-jl]]
|
||||||
|
- [[doom-package:][eglot]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires [[https://julialang.org/][Julia]] and an language server if [[doom-module:][+lsp]] is enabled.
|
||||||
|
|
||||||
** Language Server
|
** Language Server
|
||||||
~+lsp~ requires ~LanguageServer.jl~ and ~SymbolServer.jl~. The =lsp-julia= and
|
[[doom-module:][+lsp]] requires ~LanguageServer.jl~ and ~SymbolServer.jl~. The [[doom-package:][lsp-julia]] and
|
||||||
=eglot-jl= packages both come bundled with their own versions of these servers,
|
[[doom-package:][eglot-jl]] packages both come bundled with their own versions of these servers,
|
||||||
which is used by default. If you're happy with that, no further configuration is
|
which is used by default. If you're happy with that, no further configuration is
|
||||||
necessary.
|
necessary.
|
||||||
|
|
||||||
However, to use your own installation you will need to install then configure
|
However, to use your own installation you will need to install then configure
|
||||||
them. To install them, execute these commands in a Julia REPL:
|
them. To install them, execute these commands in a Julia REPL:
|
||||||
|
#+begin_src julia
|
||||||
#+BEGIN_SRC julia
|
|
||||||
using Pkg
|
using Pkg
|
||||||
Pkg.add("LanguageServer")
|
Pkg.add("LanguageServer")
|
||||||
Pkg.add("SymbolServer")
|
Pkg.add("SymbolServer")
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
Then configure =lsp-julia= or =eglot-jl= depending on whether you have enabled
|
Then configure [[doom-package:][lsp-julia]] or [[doom-package:][eglot-jl]] depending on whether you have enabled
|
||||||
=:tools lsp= or =:tools (lsp +eglot)=, respectively:
|
[[doom-module:][:tools lsp]] or [[doom-module:][:tools lsp +eglot]], respectively:
|
||||||
|
|
||||||
*** ~lsp-julia~
|
*** =lsp-julia=
|
||||||
To instruct =lsp-julia= not to use the built-in package:
|
To instruct [[doom-package:][lsp-julia]] not to use the built-in package:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
;; in $DOOMDIR/config.el
|
||||||
;; ~/.doom.d/config.el
|
|
||||||
(setq lsp-julia-package-dir nil)
|
(setq lsp-julia-package-dir nil)
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
To find your installation of ~LanguageServer.jl~, ~eglot-jl~ needs to know the
|
To find your installation of ~LanguageServer.jl~, [[doom-package:][lsp-julia]] needs to know the
|
||||||
environment in which it is installed. This is set to v1.0 by default as it is
|
environment in which it is installed. This is set to v1.0 by default as it is
|
||||||
the current LTS:
|
the current LTS:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
;; in $DOOMDIR/config.el
|
||||||
|
(after! lsp-julia
|
||||||
|
(setq lsp-julia-default-environment "~/.julia/environments/v1.0"))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
*** =eglot-jl=
|
||||||
(setq lsp-julia-default-environment "~/.julia/environments/v1.0")
|
To find your installation of ~LanguageServer.jl~, [[doom-package:][eglot-jl]] must know the
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
*** ~eglot-jl~
|
|
||||||
To find your installation of ~LanguageServer.jl~, ~eglot-jl~ must know the
|
|
||||||
environment in which it is installed. This is set to v1.0 by default as it is
|
environment in which it is installed. This is set to v1.0 by default as it is
|
||||||
the current LTS:
|
the current LTS:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
;; in $DOOMDIR/config.el
|
||||||
;; ~/.doom.d/config.el
|
|
||||||
(setq eglot-jl-language-server-project "~/.julia/environments/v1.0")
|
(setq eglot-jl-language-server-project "~/.julia/environments/v1.0")
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
But to let ~eglot-jl~ use the environment bundled with it, set it to
|
But to let [[doom-package:][eglot-jl]] use the environment bundled with it, set it to
|
||||||
~eglot-jl-base~ instead:
|
~eglot-jl-base~ instead:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
;; in $DOOMDIR/config.el
|
||||||
;; ~/.doom.d/config.el
|
|
||||||
(after! eglot-jl
|
(after! eglot-jl
|
||||||
(setq eglot-jl-language-server-project eglot-jl-base))
|
(setq eglot-jl-language-server-project eglot-jl-base))
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Features
|
|
||||||
** Language Server
|
** Language Server
|
||||||
~+lsp~ adds code completion, syntax checking, formatting and other ~lsp-mode~ or
|
[[doom-module:][+lsp]] adds code completion, syntax checking, formatting and other [[doom-package:][lsp-mode]] or
|
||||||
~eglot~ features. It requires ~LanguageServer.jl~, the installation of which is
|
[[doom-package:][eglot]] features. It requires ~LanguageServer.jl~, the installation of which is
|
||||||
described above.
|
described above.
|
||||||
|
|
||||||
* Configuration
|
* TODO Configuration
|
||||||
** Change the default environment for the Julia language server
|
#+begin_quote
|
||||||
~lsp-julia~ requires a variable be set for the Julia environment. This is set to
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
v1.0 by default as it is the current LTS.
|
#+end_quote
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
** Change the default environment for the Julia language server
|
||||||
;; ~/.doom.d/config.el
|
[[doom-package:][lsp-julia]] requires a variable be set for the Julia environment. This is set to
|
||||||
(setq lsp-julia-default-environment "~/.julia/environments/v1.0")
|
v1.0 by default as it is the current LTS:
|
||||||
#+END_SRC
|
#+begin_src emacs-lisp
|
||||||
|
;; in $DOOMDIR/config.el
|
||||||
|
(after! lsp-julia
|
||||||
|
(setq lsp-julia-default-environment "~/.julia/environments/v1.0"))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,36 +1,56 @@
|
||||||
#+TITLE: lang/kotlin
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang kotlin][Issues]] ↖ [[doom-module-source:lang/kotlin][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: March 28, 2019
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v3.0.0
|
#+TITLE: :lang kotlin
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: A Java(Script) that won't depress you
|
||||||
|
#+CREATED: March 28, 2019
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds [[https://kotlinlang.org/][Kotlin]] support to Doom Emacs.
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
** Maintainers
|
||||||
This module adds Kotlin support to Emacs.
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ =+lsp= Enables integration with [[https://github.com/emacs-lsp/lsp-mode][kotlin-language-server]]. This requires the
|
- +lsp ::
|
||||||
=:tools lsp= module.
|
Enable LSP support for ~kotlin-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/emacs-lsp/lsp-mode][kotlin-language-server]]).
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ kotlin-mode
|
- [[doom-package:][flycheck-kotlin]] if [[doom-module:][:checkers syntax]]
|
||||||
+ flycheck-kotlin
|
- [[doom-package:][kotlin-mode]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
TODO
|
/No hacks documented for this module./
|
||||||
|
|
||||||
* Features
|
** TODO Changelog
|
||||||
TODO
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
* Configuration
|
* TODO Installation
|
||||||
TODO
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's prerequisites are not documented./ [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
TODO
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,98 +1,113 @@
|
||||||
#+TITLE: lang/latex
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang latex][Issues]] ↖ [[doom-module-source:lang/latex][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v1.3
|
#+TITLE: :lang latex
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: Writing papers in Emacs has never been so fun
|
||||||
|
#+CREATED: January 16, 2017
|
||||||
|
#+SINCE: 1.3
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#ubuntu][Ubuntu]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#macos][macOS]]
|
|
||||||
- [[#nixos][NixOS]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#customization][Customization]]
|
|
||||||
- [[#specifying-the-location-of-a-bibtex-file--corresponding-pdfs][Specifying the location of a bibtex file & corresponding PDFs]]
|
|
||||||
- [[#changing-the-pdfs-viewer][Changing the PDFs viewer]]
|
|
||||||
- [[#using-cdlatexs-snippets-despite-having-yasnippet][Using cdlatex's snippets despite having yasnippet]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
Provide a helping hand when working with LaTeX documents.
|
Provide a helping hand when working with LaTeX documents.
|
||||||
|
|
||||||
+ Sane defaults
|
- Sane defaults
|
||||||
+ Fontification of many popular commands
|
- Fontification of many popular commands
|
||||||
+ Pretty indentation of wrapped lines using the ~adaptive-wrap~ package
|
- Pretty indentation of wrapped lines using the [[doom-package:][adaptive-wrap]] package
|
||||||
+ Spell checking with ~flycheck~
|
- Spell checking with [[doom-package:][flycheck]]
|
||||||
+ Change PDF viewer to Okular or ~latex-preview-pane~
|
- Change PDF viewer to Okular or [[doom-package:][latex-preview-pane]]
|
||||||
+ Bibtex editor
|
- Bibtex editor
|
||||||
+ Autocompletion using ~company-mode~
|
- Autocompletion using [[doom-package:][company-mode]]
|
||||||
+ Compile your .tex code only once using LatexMk
|
- Compile your =.tex= code only once using LatexMk
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ =+latexmk= Use LatexMk instead of LaTeX to compile documents.
|
- [[doom-user:][@tecosaur]]
|
||||||
+ =+cdlatex= Enable [[https://github.com/cdominik/cdlatex][cdlatex]] for fast math insertion.
|
- [[doom-user:][@ymarco]]
|
||||||
+ =+lsp= Start LSP automatically in `tex-mode-hook`. This requires the =:tools
|
|
||||||
lsp= module. Supported servers are `digestif` and `TexLab`.
|
|
||||||
+ =+fold= Use TeX-fold (from auctex) to fold LaTeX macros to unicode, and make
|
|
||||||
folding hook-based and less manual.
|
|
||||||
|
|
||||||
** Plugins
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ [[http://www.gnu.org/software/auctex/][auctex]]
|
|
||||||
+ [[http://elpa.gnu.org/packages/adaptive-wrap.html][adaptive-wrap]]
|
|
||||||
+ [[https://github.com/iyefrat/evil-tex][evil-tex]] (when =:editor evil +everywhere=)
|
|
||||||
+ [[https://github.com/jsinglet/latex-preview-pane][latex-preview-pane]]
|
|
||||||
+ [[https://github.com/tom-tan/auctex-latexmk][auctex-latexmk]]*
|
|
||||||
+ [[https://github.com/alexeyr/company-auctex][company-auctex]]*
|
|
||||||
+ [[https://github.com/TheBB/company-reftex][company-reftex]]*
|
|
||||||
+ [[https://github.com/vspinu/company-math][company-math]]*
|
|
||||||
+ [[https://github.com/cdominik/cdlatex][cdlatex]] (=+cdlatex=)
|
|
||||||
|
|
||||||
* Prerequisites
|
** Module flags
|
||||||
You will need ghostscript and a latex compiler. All this is provided by
|
- +cdlatex ::
|
||||||
the =texlive= bundle, available through many OS package managers.
|
Enable [[doom-package:][cdlatex]] for fast math insertion.
|
||||||
|
- +fold ::
|
||||||
|
Use TeX-fold (from [[doom-package:][auctex]]) to fold LaTeX macros to unicode, and make folding
|
||||||
|
hook-based and less manual.
|
||||||
|
- +latexmk ::
|
||||||
|
Use LatexMk instead of LaTeX to compile documents.
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support in latex buffers. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports digestif and TexLab).
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][adaptive-wrap]]
|
||||||
|
- [[doom-package:][auctex]]
|
||||||
|
- [[doom-package:][auctex-latexmk]] if [[doom-module:][+latexmk]]
|
||||||
|
- [[doom-package:][cdlatex]] if [[doom-module:][+cdlatex]]
|
||||||
|
- [[doom-package:][evil-tex]] if [[doom-module:][:editor evil +everywhere]]
|
||||||
|
- [[doom-package:][latex-preview-pane]]
|
||||||
|
- if [[doom-module:][:completion company]]
|
||||||
|
- [[doom-package:][company-auctex]]
|
||||||
|
- [[doom-package:][company-math]]
|
||||||
|
- [[doom-package:][company-reftex]]
|
||||||
|
|
||||||
|
** TODO Hacks
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module's hacks haven't been documented yet. [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires ghostscript and a latex compiler. These are provided by the
|
||||||
|
=texlive= bundle, available through many OS package managers.
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🚧 Ghostscript <= 9.27 is [[/auctex/manual/preview-latex/No-images-are-displayed-with-gs-9_002e27-and-earlier.html][reportedly buggy]] and doesn't work with auctex's math
|
||||||
|
previews. (You can check you ghostscript version with ~$ gs --version~.)
|
||||||
|
Most package managers already have newer versions, but if not you might have
|
||||||
|
to build gs from source.
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
Ghostscript <= 9.27 is [[https://www.gnu.org/software/auctex/manual/preview-latex/No-images-are-displayed-with-gs-9_002e27-and-earlier.html][reported buggy]] and doesn't work with auctex's math
|
|
||||||
previews. (You can check you ghostscript version with ~gs --version~.) Most
|
|
||||||
package managers already have newer versions, but if not you might have to build
|
|
||||||
gs from source.
|
|
||||||
** Ubuntu
|
** Ubuntu
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
apt-get install texlive
|
apt-get install texlive
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Arch Linux
|
** Arch Linux
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
pacman -S texlive-core
|
pacman -S texlive-core
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** TODO macOS
|
** TODO macOS
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
brew install --cask basictex
|
brew install --cask basictex
|
||||||
# If the above doesn't work, then
|
# If the above doesn't work, then
|
||||||
brew install --cask mactex # WARNING: large 4gb download!
|
brew install --cask mactex # WARNING: large 4gb download!
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
This has not been verified.
|
🔨 This has not been verified.
|
||||||
#+end_quote
|
#+end_quote
|
||||||
|
|
||||||
** NixOS
|
** NixOS
|
||||||
#+BEGIN_SRC nix
|
#+begin_src nix
|
||||||
environment.systemPackages = [ pkgs.texlive.combined.scheme-medium ];
|
environment.systemPackages = [ pkgs.texlive.combined.scheme-medium ];
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
* TODO Features
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Customization
|
* Configuration
|
||||||
** Specifying the location of a bibtex file & corresponding PDFs
|
** Specifying the location of a bibtex file & corresponding PDFs
|
||||||
Reftex has a variable that allow you to
|
Reftex has a variable that allow you to specify where it should find your
|
||||||
specify where it should find your bibliography file(s):
|
bibliography file(s):
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC emacs-lisp
|
;; in $DOOMDIR/config.el
|
||||||
(setq reftex-default-bibliography "/your/bib/file.bib")
|
(setq reftex-default-bibliography "/your/bib/file.bib")
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Changing the PDFs viewer
|
** Changing the PDFs viewer
|
||||||
This module provides integration for four supported pdf viewers. They are
|
This module provides integration for four supported pdf viewers. They are
|
||||||
|
@ -102,30 +117,41 @@ This module provides integration for four supported pdf viewers. They are
|
||||||
+ Sumatra PDF
|
+ Sumatra PDF
|
||||||
+ Zathura
|
+ Zathura
|
||||||
+ Okular
|
+ Okular
|
||||||
+ pdf-tools (requires =:tools pdf= module)
|
+ pdf-tools (requires [[doom-module:][:tools pdf]] module)
|
||||||
|
|
||||||
They are searched for in this order. See ~+latex-viewers~ to change the order,
|
They are searched for in this order. See ~+latex-viewers~ to change the order,
|
||||||
or remove tools from the search altogether. If you want to exclusively use one
|
or remove tools from the search altogether. If you want to exclusively use one
|
||||||
tool, for instance:
|
tool, for instance:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC emacs-lisp
|
;; in $DOOMDIR/config.el
|
||||||
(setq +latex-viewers '(zathura))
|
(setq +latex-viewers '(zathura))
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
If none of these tools are found, ~latex-preview-pane~ (uses ~DocView~ in Emacs)
|
If none of these tools are found, ~latex-preview-pane~ (uses ~DocView~ in Emacs)
|
||||||
is used as a fallback. You can use this exclusively by setting ~+latex-viewers~
|
is used as a fallback. You can use this exclusively by setting ~+latex-viewers~
|
||||||
to ~nil~.
|
to ~nil~.
|
||||||
|
|
||||||
** Using cdlatex's snippets despite having yasnippet
|
** Using cdlatex's snippets despite having yasnippet
|
||||||
cdlatex has a snippet insertion capability which is disabled in favor of
|
[[doom-package:][cdlatex]] has a snippet insertion capability which is disabled in favor of
|
||||||
yasnippet when using ~:editor snippets~. If you still wanna use it, simply rebind
|
[[doom-package:][yasnippet]] when using [[doom-module:][:editor snippets]]. If you still wanna use it, simply rebind
|
||||||
the ~TAB~ key for cdlatex, which takes care of snippet-related stuff:
|
the [[kbd:][TAB]] key for cdlatex, which takes care of snippet-related stuff:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC emacs-lisp
|
;; in $DOOMDIR/config.el
|
||||||
(map! :map cdlatex-mode-map
|
(map! :map cdlatex-mode-map
|
||||||
:i "TAB" #'cdlatex-tab)
|
:i "TAB" #'cdlatex-tab)
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
This would favor yasnippet's expansion and cursor movement over cdlatex's
|
This would favor yasnippet's expansion and cursor movement over cdlatex's
|
||||||
expansion and movement, but that shouldn't matter if you're not using yasnippet
|
expansion and movement, but that shouldn't matter if you're not using yasnippet
|
||||||
in latex buffers.
|
in latex buffers.
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
56
modules/lang/lean/README.org
Normal file
56
modules/lang/lean/README.org
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang lean][Issues]] ↖ [[doom-module-source:lang/lean][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang lean
|
||||||
|
#+SUBTITLE: For folks with too much to prove
|
||||||
|
#+CREATED: September 10, 2019
|
||||||
|
#+SINCE: 21.12.0 (#1759)
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
This module adds support for the [[https://leanprover.github.io/about/][Lean programming language]] to Doom Emacs.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][lean-mode]]
|
||||||
|
- [[doom-package:][company-lean]] if [[doom-module:][:completion company]]
|
||||||
|
|
||||||
|
** TODO Hacks
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module's hacks haven't been documented yet. [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's prerequisites are not documented./ [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
|
@ -1,56 +1,75 @@
|
||||||
#+TITLE: lang/ledger
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang ledger][Issues]] ↖ [[doom-module-source:lang/ledger][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: October 13, 2019
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.4
|
#+TITLE: :lang ledger
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: Be audit you can be
|
||||||
|
#+CREATED: September 09, 2017
|
||||||
|
#+SINCE: 2.0.6 (#194)
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds support for [[https://www.ledger-cli.org/][ledger]] files. Ledger is a command line double-entry
|
This module adds support for [[https://www.ledger-cli.org/][ledger]] files. Ledger is a command line double-entry
|
||||||
accounting system that works with simple text files holding transactions in the
|
accounting system that works with simple text files holding transactions in the
|
||||||
following format:
|
following format:
|
||||||
|
#+begin_src ledger
|
||||||
#+BEGIN_SRC ledger
|
|
||||||
2015/10/12 Exxon
|
2015/10/12 Exxon
|
||||||
Expenses:Auto:Gas $10.00
|
Expenses:Auto:Gas $10.00
|
||||||
Liabilities:MasterCard $-10.00
|
Liabilities:MasterCard $-10.00
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
This modules enables the following features:
|
This modules enables the following features:
|
||||||
+ Syntax and indentation support for ledger files
|
- Syntax and indentation support for ledger files
|
||||||
+ Add, edit, and delete transactions
|
- Add, edit, and delete transactions
|
||||||
+ Generate reports
|
- Generate reports
|
||||||
+ Schedule transactions
|
- Schedule transactions
|
||||||
+ Sort transactions
|
- Sort transactions
|
||||||
+ Display statistics about transactions
|
- Display statistics about transactions
|
||||||
+ Display balance up to a point
|
- Display balance up to a point
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
This module provides no flags.
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/purcell/flycheck-ledger][flycheck-ledger]]
|
/This module has no flags./
|
||||||
+ [[https://github.com/atheriel/evil-ledger][evil-ledger]]
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][evil-ledger]] if [[doom-module:][:editor evil +everywhere]]
|
||||||
|
- [[doom-package:][flycheck-ledger]] if [[doom-module:][:checkers syntax]]
|
||||||
|
- [[doom-package:][ledger-mode]]
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
This module sets ~ledger-clear-whole-transactions~ to ~t~ (default value is
|
- This module sets ~ledger-clear-whole-transactions~ to ~t~ (default value is
|
||||||
~nil~). This results in ~ledger-toggle-current~ toggling the clear status of the
|
~nil~). This results in ~ledger-toggle-current~ toggling the clear status of
|
||||||
whole transaction instead of toggling just the current posting.
|
the whole transaction instead of toggling just the current posting.
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
In order for ~flycheck-ledger~ to work and to be able to generate reports you
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
will need to install [[https://www.ledger-cli.org/][ledger]].
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
* TODO Features
|
* Installation
|
||||||
An in-depth list of features, how to use them, and their dependencies.
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires [[https://www.ledger-cli.org/][ledger]] to syntax check and generate reports from your
|
||||||
|
ledgers.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
|
||||||
Please refer to ~ledger-mode~'s documentation for information on how to
|
Please refer to ~ledger-mode~'s documentation for information on how to
|
||||||
configure it. You can do so within emacs with =C-h i=
|
configure it. You can do so within emacs with [[kbd:][C-h i]]
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,57 +1,67 @@
|
||||||
#+TITLE: lang/lua
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang lua][Issues]] ↖ [[doom-module-source:lang/lua][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: Jun 3, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v3.0
|
#+TITLE: :lang lua
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: One-based indices? one-based indices
|
||||||
|
#+CREATED: Jun 03, 2020
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds Lua support to Doom Emacs.
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#language-server-protocol-servers][Language Server Protocol servers]]
|
|
||||||
- [[#lsp-mode][LSP-mode]]
|
|
||||||
- [[#eglot][Eglot]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
- [[#install-lua-language-server][Install lua-language-server]]
|
|
||||||
|
|
||||||
* Description
|
- REPL
|
||||||
Adds Lua support to Doom Emacs
|
- Love2D specific functions
|
||||||
# A summary of what this module does.
|
- Moonscript support
|
||||||
|
- Fennel support
|
||||||
+ REPL
|
|
||||||
+ Love2D specific functions
|
|
||||||
+ Moonscript support
|
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
- [[doom-user:][@hlissner]]
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ =+moonscript= Moonscript language support
|
|
||||||
+ =+fennel= Fennel language support
|
|
||||||
+ =+lsp= Language Server Protocol support
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
# A list of linked plugins
|
- +fennel ::
|
||||||
+ [[https://github.com/immerrr/lua-mode][lua-mode]]
|
Enable support for the Fennel language.
|
||||||
+ [[https://github.com/k2052/moonscript-mode][moonscript-mode]] (=+moonscript=)
|
- +lsp ::
|
||||||
+ [[https://gitlab.com/technomancy/fennel-mode][fennel-mode]] (=+fennel=)
|
Enable LSP support for ~lua-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports EmmyLua, lua-language-server, and lua-lsp).
|
||||||
|
- +moonscript ::
|
||||||
|
Enable support for the Moonscript language.
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][company-lua]] if [[doom-module:][:completion company]]
|
||||||
|
- [[doom-package:][fennel-mode]] if [[doom-module:][+fennel]]
|
||||||
|
- [[doom-package:][lua-mode]]
|
||||||
|
- if [[doom-module:][+moonscript]]
|
||||||
|
- [[doom-package:][flycheck-moonscript]] if [[doom-module:][:checkers syntax]]
|
||||||
|
- [[doom-package:][moonscript-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires Lua 5.1+ for most of its capabilities and, optionally, the
|
||||||
|
fennel and moonscript transpilers. An LSP server is also required for LSP
|
||||||
|
support.
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
** Language Server Protocol servers
|
** Language Server Protocol servers
|
||||||
LSP server support depends on which flavor of the =:tools lsp= module you have
|
LSP server support depends on which flavor of the [[doom-module:][:tools lsp]] module you have
|
||||||
installed (Eglot or LSP-mode).
|
installed ([[doom-package:][eglot]] or [[doom-package:][lsp-mode]]).
|
||||||
|
|
||||||
*** LSP-mode
|
*** LSP-mode
|
||||||
Three servers are supported, ordered from highest to lowest priority:
|
Three servers are supported, ordered from highest to lowest priority:
|
||||||
|
- [[https://github.com/EmmyLua/EmmyLua-LanguageServer][EmmyLua-LanguageServer]] :: Must be in
|
||||||
+ [[https://github.com/EmmyLua/EmmyLua-LanguageServer][EmmyLua-LanguageServer]] :: Must be in =~/.emacs.d/.local/etc/lsp/EmmyLua-LS-all.jar=. See ~lsp-clients-emmy-lua-jar-path~ variable to change this.
|
=$EMACSDIR/.local/etc/lsp/EmmyLua-LS-all.jar=. See
|
||||||
+ [[https://github.com/sumneko/lua-language-server][Sumneko language server]] (lua-language-server) :: Must be in
|
~lsp-clients-emmy-lua-jar-path~ variable to change this.
|
||||||
=~/.config/emacs/.local/etc/lsp/lua-language-server/=. See
|
- [[https://github.com/sumneko/lua-language-server][Sumneko language server]] (lua-language-server) :: Must be in
|
||||||
|
=$EMACSDIR/.local/etc/lsp/lua-language-server/=. See
|
||||||
~lsp-clients-lua-language-server-bin~ variable to change this.
|
~lsp-clients-lua-language-server-bin~ variable to change this.
|
||||||
+ [[https://github.com/Alloyed/lua-lsp][lua-lsp]] :: Must be available in =~/.luarocks/bin/lua-lsp=. See
|
- [[https://github.com/Alloyed/lua-lsp][lua-lsp]] :: Must be available in =~/.luarocks/bin/lua-lsp=. See
|
||||||
~lsp-clients-lua-lsp-server-install-dir~ variable to change this.
|
~lsp-clients-lua-lsp-server-install-dir~ variable to change this.
|
||||||
|
|
||||||
[[https://emacs-lsp.github.io/lsp-mode/page/lsp-emmy-lua/][LSP-mode documentation]] has more information about setting up the server and the
|
[[https://emacs-lsp.github.io/lsp-mode/page/lsp-emmy-lua/][LSP-mode documentation]] has more information about setting up the server and the
|
||||||
|
@ -59,20 +69,35 @@ configuration variables correctly.
|
||||||
|
|
||||||
*** Eglot
|
*** Eglot
|
||||||
Eglot currently only supports one of the above servers out of the box:
|
Eglot currently only supports one of the above servers out of the box:
|
||||||
|
|
||||||
+ [[https://github.com/sumneko/lua-language-server][Sumneko language server]] (lua-language-server) :: Must be in
|
+ [[https://github.com/sumneko/lua-language-server][Sumneko language server]] (lua-language-server) :: Must be in
|
||||||
=~/.config/emacs/.local/etc/lsp/lua-language-server/=. See
|
=$EMACSDIR/.local/etc/lsp/lua-language-server/=. See ~+lua-lsp-dir~ variable
|
||||||
~+lua-lsp-dir~ variable to change this.
|
to change this.
|
||||||
|
|
||||||
* TODO Features
|
* TODO Usage
|
||||||
# An in-depth list of features, how to use them, and their dependencies.
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
* TODO Configuration
|
||||||
- lua-lsp-dir :: This must be set when using =+lsp= and using
|
#+begin_quote
|
||||||
[[https://github.com/sumneko/lua-language-server][lua-language-server]]. This controls where the repository has been cloned and
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
built to finish the configuration of the server.
|
#+end_quote
|
||||||
|
|
||||||
|
- lua-lsp-dir :: This must be set when using [[doom-module:][+lsp]] and using [[https://github.com/sumneko/lua-language-server][lua-language-server]].
|
||||||
|
This controls where the repository has been cloned and built to finish the
|
||||||
|
configuration of the server.
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
|
[[doom-report:][Report an issue?]]
|
||||||
|
|
||||||
** Install lua-language-server
|
** Install lua-language-server
|
||||||
A [[https://github.com/sumneko/lua-language-server/issues/60][catch-all issue]] has been created to gather help for installing
|
A [[https://github.com/sumneko/lua-language-server/issues/60][catch-all issue]] has been created to gather help for installing
|
||||||
lua-language-server on non-VSCode platforms.
|
lua-language-server on non-VSCode platforms.
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,26 +1,11 @@
|
||||||
#+TITLE: lang/markdown
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang markdown][Issues]] ↖ [[doom-module-source:lang/markdown][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: February 19, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: 2.0
|
#+TITLE: :lang markdown
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: Write docs for people to ignore
|
||||||
|
#+CREATED: February 19, 2017
|
||||||
|
#+SINCE: 2.0.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#linters][Linters]]
|
|
||||||
- [[#markdown-preview][Markdown preview]]
|
|
||||||
- [[#markedjs][MarkedJS]]
|
|
||||||
- [[#pandoc][Pandoc]]
|
|
||||||
- [[#markdown][Markdown]]
|
|
||||||
- [[#multimarkdown][MultiMarkdown]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#markdown-preview-1][Markdown preview]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#changing-how-markdown-is-compiled][Changing how markdown is compiled]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module provides Markdown support for Emacs.
|
This module provides Markdown support for Emacs.
|
||||||
|
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
|
@ -30,82 +15,97 @@ to structurally valid XHTML (or HTML).
|
||||||
|
|
||||||
Thus, “Markdown” is two things: (1) a plain text formatting syntax; and (2) a
|
Thus, “Markdown” is two things: (1) a plain text formatting syntax; and (2) a
|
||||||
software tool, written in Perl, that converts the plain text formatting to HTML.
|
software tool, written in Perl, that converts the plain text formatting to HTML.
|
||||||
See the Syntax page for details pertaining to Markdown’s formatting syntax. You
|
See the Syntax page for details pertaining to Markdown's formatting syntax. You
|
||||||
can try it out, right now, using the online Dingus.
|
can try it out, right now, using the online Dingus.
|
||||||
|
|
||||||
The overriding design goal for Markdown’s formatting syntax is to make it as
|
The overriding design goal for Markdown's formatting syntax is to make it as
|
||||||
readable as possible. The idea is that a Markdown-formatted document should be
|
readable as possible. The idea is that a Markdown-formatted document should be
|
||||||
publishable as-is, as plain text, without looking like it’s been marked up with
|
publishable as-is, as plain text, without looking like it's been marked up with
|
||||||
tags or formatting instructions. While Markdown’s syntax has been influenced by
|
tags or formatting instructions. While Markdown's syntax has been influenced by
|
||||||
several existing text-to-HTML filters, the single biggest source of inspiration
|
several existing text-to-HTML filters, the single biggest source of inspiration
|
||||||
for Markdown’s syntax is the format of plain text email. -- John Gruber
|
for Markdown's syntax is the format of plain text email. -- John Gruber
|
||||||
#+end_quote
|
#+end_quote
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ =+grip= Enables [[https://github.com/seagle0128/grip-mode][grip support]] (on =<localleader> p=), to provide live
|
- [[doom-user:][@hlissner]]
|
||||||
github-style previews of your markdown (or org) files.
|
|
||||||
|
|
||||||
** Plugins
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ markdown-mode
|
|
||||||
+ markdown-toc
|
** Module flags
|
||||||
|
- +grip ::
|
||||||
|
Enable [[https://github.com/seagle0128/grip-mode][grip support]] (on [[kbd:][<localleader> p]]), to provide live github-style
|
||||||
|
previews of your markdown (or org) files.
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][edit-indirect]]
|
||||||
|
- [[doom-package:][evil-markdown]] if [[doom-module:][:editor evil +everywhere]]
|
||||||
|
- [[doom-package:][grip-mode]] if [[doom-module:][+grip]]
|
||||||
|
- [[doom-package:][markdown-mode]]
|
||||||
|
- [[doom-package:][markdown-toc]]
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
+ Flyspell has been configured not to spell check in code blocks, links, HTML
|
- [[doom-package:][flyspell]] has been configured not to spell check in code blocks, links, HTML
|
||||||
tags or references.
|
tags or references.
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
This module has two soft dependencies: a linter and a compiler (for previewing
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
markdown).
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires:
|
||||||
|
- A linter (requires [[doom-module:][:checkers syntax]])
|
||||||
|
- A markdown compiler, for previewing Markdown
|
||||||
|
|
||||||
** Linters
|
** Linters
|
||||||
Out of the box, flycheck recognizes these checkers for markdown-mode and
|
Out of the box, flycheck recognizes these checkers for markdown-mode and
|
||||||
gfm-mode:
|
gfm-mode:
|
||||||
|
|
||||||
+ Markdown-specific
|
- Markdown-specific
|
||||||
+ [[https://github.com/DavidAnson/markdownlint][markdownlint]] (~npm install markdownlint~)
|
- [[https://github.com/DavidAnson/markdownlint][markdownlint]] (~$ npm install markdownlint~)
|
||||||
+ [[https://github.com/markdownlint/markdownlint][mdl]] (~gem install mdl~)
|
- [[https://github.com/markdownlint/markdownlint][mdl]] (~$ gem install mdl~)
|
||||||
+ General (natural language)
|
- General (natural language)
|
||||||
+ [[http://proselint.com/][proselint]]
|
- [[http://proselint.com/][proselint]]
|
||||||
- ~pip install proselint~
|
- ~$ pip install proselint~
|
||||||
- Or through your OS package manager
|
- Or through your OS package manager
|
||||||
- MacOS: ~brew install proselint~
|
- MacOS: ~$ brew install proselint~
|
||||||
- Arch Linux: ~pacman -S proselint~
|
- Arch Linux: ~$ pacman -S proselint~
|
||||||
+ [[https://github.com/textlint/textlint][textlint]] (~npm install textlint~)
|
- [[https://github.com/textlint/textlint][textlint]] (~$ npm install textlint~)
|
||||||
|
|
||||||
** Markdown preview
|
** Markdown compiler
|
||||||
This module requires a markdown compiler in order for ~markdown-preview~ to
|
This module requires a markdown compiler in order for ~markdown-preview~ to
|
||||||
work. It will recognize and use one of the following executables, in this order
|
work. It will recognize and use one of the following executables, in this order
|
||||||
(you only need one):
|
(you only need one):
|
||||||
|
|
||||||
+ [[https://github.com/markedjs/marked][markedjs]]: a markdown compiler "built for speed"
|
- [[https://github.com/markedjs/marked][markedjs]]: a markdown compiler "built for speed"
|
||||||
+ [[https://github.com/jgm/pandoc][pandoc]]: the universal markup transpiler
|
- [[https://github.com/jgm/pandoc][pandoc]]: the universal markup transpiler
|
||||||
+ [[http://pell.portland.or.us/~orc/Code/discount/][markdown]]: there are various flavors of this compiler. This module will look
|
- [[http://pell.portland.or.us/~orc/Code/discount/][markdown]]: there are various flavors of this compiler. This module will look
|
||||||
for these two:
|
for these two:
|
||||||
+ John Gruber's [[https://daringfireball.net/projects/markdown/][original perl script]]
|
- John Gruber's [[https://daringfireball.net/projects/markdown/][original perl script]]
|
||||||
+ The C implementation called [[http://pell.portland.or.us/~orc/Code/discount/][discount]], by David Parsons
|
- The C implementation called [[http://pell.portland.or.us/~orc/Code/discount/][discount]], by David Parsons
|
||||||
+ [[https://fletcher.github.io/MultiMarkdown-6/][multimarkdown]]: a compiler for a language that is a superset of Markdown, with
|
- [[https://fletcher.github.io/MultiMarkdown-6/][multimarkdown]]: a compiler for a language that is a superset of Markdown, with
|
||||||
additional output formats and features.
|
additional output formats and features.
|
||||||
|
|
||||||
*** MarkedJS
|
*** MarkedJS
|
||||||
Not to be confused with [[https://marked2app.com/][the Marked 2 app]], marked is an npm package:
|
Not to be confused with [[https://marked2app.com/][the Marked 2 app]], marked is an npm package:
|
||||||
|
#+begin_src sh
|
||||||
#+BEGIN_SRC sh
|
|
||||||
npm install -g marked
|
npm install -g marked
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
*** Pandoc
|
*** Pandoc
|
||||||
Pandoc is the universal markup transpiler. It should be available through your
|
Pandoc is the universal markup transpiler. It should be available through your
|
||||||
system package manager. For example:
|
system package manager. For example:
|
||||||
|
|
||||||
+ MacOS: ~brew install pandoc~
|
+ MacOS: ~$ brew install pandoc~
|
||||||
+ Arch Linux: ~pacman -S pandoc~
|
+ Arch Linux: ~$ pacman -S pandoc~
|
||||||
|
|
||||||
*** Markdown
|
*** Markdown
|
||||||
The C implementation of Markdown.pl, called =discount=, is available through
|
The C implementation of Markdown.pl, called =discount=, is available through
|
||||||
your OS's package manager:
|
your OS's package manager:
|
||||||
|
|
||||||
+ MacOS: ~brew install discount~
|
+ MacOS: ~$ brew install discount~
|
||||||
+ Arch Linux: ~pacman -S discount~
|
+ Arch Linux: ~$ pacman -S discount~
|
||||||
|
|
||||||
The original perl script that discount is inspired from can be found on [[https://daringfireball.net/projects/markdown/][John
|
The original perl script that discount is inspired from can be found on [[https://daringfireball.net/projects/markdown/][John
|
||||||
Gruber's website]].
|
Gruber's website]].
|
||||||
|
@ -114,46 +114,62 @@ Gruber's website]].
|
||||||
See [[https://fletcher.github.io/MultiMarkdown-6/introduction.html][its documentation]] for details on what MultiMarkdown is. The compiler can be
|
See [[https://fletcher.github.io/MultiMarkdown-6/introduction.html][its documentation]] for details on what MultiMarkdown is. The compiler can be
|
||||||
installed through your OS's package manager:
|
installed through your OS's package manager:
|
||||||
|
|
||||||
+ MacOS: ~brew install multimarkdown~
|
+ MacOS: ~$ brew install multimarkdown~
|
||||||
+ Arch Linux: [[https://aur.archlinux.org/packages/multimarkdown/][multimarkdown]] is available on the AUR
|
+ Arch Linux: [[https://aur.archlinux.org/packages/multimarkdown/][multimarkdown]] is available on the AUR
|
||||||
|
|
||||||
* Features
|
* TODO Usage
|
||||||
** Markdown preview
|
#+begin_quote
|
||||||
~markdown-preview~ is bound to =<localleader> p=. This will open a preview of
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
your compiled markdown document in your browser.
|
#+end_quote
|
||||||
|
|
||||||
Alternatively, you can use ~grip-mode~ through =+grip=.
|
** Markdown preview
|
||||||
|
~markdown-preview~ is bound to [[kbd:][<localleader> p]]. This will open a preview of your
|
||||||
|
compiled markdown document in your browser.
|
||||||
|
|
||||||
|
Alternatively, you can use ~grip-mode~ through [[doom-module:][+grip]].
|
||||||
|
|
||||||
* Configuration
|
* Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
** Changing how markdown is compiled
|
** Changing how markdown is compiled
|
||||||
When ~markdown-preview~ is invoked (=<localleader> p=) it consults
|
When ~markdown-preview~ is invoked ([[kbd:][<localleader> p]]) it consults
|
||||||
~markdown-command~. Its default value (~#'+markdown-compile~) will consult
|
~markdown-command~. Its default value (~#'+markdown-compile~) will consult
|
||||||
~+markdown-compile-functions~: a list of functions that take three arguments: the
|
~+markdown-compile-functions~: a list of functions that take three arguments:
|
||||||
start and end point in the current buffer to use as input, and an output buffer
|
the start and end point in the current buffer to use as input, and an output
|
||||||
to insert the result in.
|
buffer to insert the result in.
|
||||||
|
|
||||||
By default, the value of ~+markdown-compile-functions~ is:
|
By default, the value of ~+markdown-compile-functions~ is:
|
||||||
|
#+begin_src lisp
|
||||||
#+BEGIN_SRC lisp
|
|
||||||
'(+markdown-compile-marked
|
'(+markdown-compile-marked
|
||||||
+markdown-compile-pandoc
|
+markdown-compile-pandoc
|
||||||
+markdown-compile-markdown
|
+markdown-compile-markdown
|
||||||
+markdown-compile-multimarkdown)
|
+markdown-compile-multimarkdown)
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
These functions will attempt to use the marked, pandoc and markdown executables,
|
These functions will attempt to use the marked, pandoc and markdown executables,
|
||||||
if available. Changing this variable will control how markdown is compiled.
|
if available. Changing this variable will control how markdown is compiled:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
|
||||||
;; Add a new one
|
;; Add a new one
|
||||||
(add-hook '+markdown-compile-functions #'my-compile-function)
|
(add-hook '+markdown-compile-functions #'my-compile-function)
|
||||||
|
|
||||||
;; Or remove an existing one
|
;; Or remove an existing one
|
||||||
(remove-hook '+markdown-compile-functions #'+markdown-compile-markdown)
|
(remove-hook '+markdown-compile-functions #'+markdown-compile-markdown)
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
Otherwise, you can change ~markdown-command~ directly:
|
Otherwise, you can change ~markdown-command~ directly:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
|
||||||
(setq markdown-command "markdown | smartypants")
|
(setq markdown-command "markdown | smartypants")
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,52 +1,75 @@
|
||||||
#+TITLE: :lang Nim
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang nim][Issues]] ↖ [[doom-module-source:lang/nim][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang nim
|
||||||
|
#+SUBTITLE: Python + lisp at the speed of C
|
||||||
|
#+CREATED: May 08, 2018
|
||||||
|
#+SINCE: 21.12.0 (#568)
|
||||||
|
|
||||||
#+begin_quote
|
* Description :unfold:
|
||||||
This module is a work in progress.
|
This module adds [[https://nim-lang.org][Nim]] support to Doom Emacs.
|
||||||
#+end_quote
|
|
||||||
|
|
||||||
This module adds [[https://nim-lang.org][Nim]] support to Emacs.
|
- Code completion ([[doom-package:][nimsuggest]] + [[doom-package:][company]])
|
||||||
|
- Syntax checking ([[doom-package:][nimsuggest]] + [[doom-package:][flycheck]])
|
||||||
|
- Org babel support ([[doom-package:][ob-nim]])
|
||||||
|
|
||||||
+ Code completion (nimsuggest + company)
|
** Maintainers
|
||||||
+ Syntax checking (nimsuggest + flycheck)
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ Babel support (~ob-nim~)
|
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
** Module flags
|
||||||
- [[#module-flags][Module Flags]]
|
/This module has no flags./
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#nim][Nim]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
|
|
||||||
* Module Flags
|
** Packages
|
||||||
This module provides no flags.
|
- [[doom-package:][flycheck-nim]] if [[doom-module:][:checkers syntax]]
|
||||||
|
- [[doom-package:][nim-mode]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
+ ~nim~ (for building & evaluation)
|
- [[doom-package:][nimsuggest]] was modified to strip invalid characters from its temp file paths
|
||||||
+ ~nimsuggest~ (for code completion, syntax checking & jump-to-definition functionality)
|
(which would break nimsuggest on Windows systems).
|
||||||
|
- [[doom-package:][nim-mode]] was modified to fail gracefully if =nimsuggest= (the executable)
|
||||||
|
isn't available.
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires:
|
||||||
|
- ~nim~, for building & evaluation.
|
||||||
|
- ~nimsuggest~, for code completion, syntax checking, and jump-to-definition
|
||||||
|
functionality.
|
||||||
|
|
||||||
** Nim
|
** Nim
|
||||||
=choosenim= is an installer and version manager for the Nim programming
|
=choosenim= is an installer and version manager for the Nim programming
|
||||||
language. You can install the latest stable release of Nim by running the
|
language. You can install the latest stable release of Nim by running the
|
||||||
following in your terminal and following the onscreen instructions:
|
following in your terminal and following the onscreen instructions:
|
||||||
|
#+begin_src sh
|
||||||
#+BEGIN_SRC bash
|
|
||||||
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
|
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
Alternatively, nim is usually available through your OS's package manager:
|
Alternatively, nim is usually available through your OS's package manager:
|
||||||
|
- MacOS: ~$ brew install nim~
|
||||||
|
- Arch Linux: ~$ pacman --needed --noconfirm -S nim nimble~
|
||||||
|
- openSUSE: ~$ zypper install nim~
|
||||||
|
|
||||||
*** MacOS
|
* TODO Usage
|
||||||
#+BEGIN_SRC sh :tangle (if (doom-system-os 'macos) "yes")
|
#+begin_quote
|
||||||
brew install nim
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
#+END_SRC
|
#+end_quote
|
||||||
|
|
||||||
*** Arch Linux
|
* TODO Configuration
|
||||||
#+BEGIN_SRC sh :dir /sudo:: :tangle (if (doom-system-os 'arch) "yes")
|
#+begin_quote
|
||||||
sudo pacman --needed --noconfirm -S nim nimble
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
#+END_SRC
|
#+end_quote
|
||||||
|
|
||||||
*** openSUSE
|
* Troubleshooting
|
||||||
#+BEGIN_SRC sh :dir /sudo::
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
sudo zypper install nim
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
* Configuration
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,57 +1,81 @@
|
||||||
#+TITLE: lang/nix
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang nix][Issues]] ↖ [[doom-module-source:lang/nix][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: May 4, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.7
|
#+TITLE: :lang nix
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: I hereby declare "nix geht mehr!"
|
||||||
|
#+CREATED: December 02, 2017
|
||||||
|
#+SINCE: 2.0.8 (#280)
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds support for the Nix language to Doom Emacs, along with tools
|
||||||
- [[#maintainers][Maintainers]]
|
for managing [[https://nixos.org/][Nix(OS)]].
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#keybindings][Keybindings]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
Includes:
|
||||||
Adds many tools for [[https://nixos.org/][Nix(OS)]] users in nice package for Doom users.
|
- Syntax highlighting
|
||||||
|
- Completion through [[doom-package:][company]] and/or [[doom-package:][helm]]
|
||||||
+ Syntax highlighting
|
- Nix option lookup
|
||||||
+ Completion through ~company~ / ~helm~
|
- Formatting (~nixfmt~)
|
||||||
+ Nix option lookup
|
|
||||||
+ Formatting (~nixfmt~)
|
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
- [[doom-user:][@hlissner]]
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
This module provides no flags.
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/NixOS/nix-mode][nix-mode]]
|
/This module has no flags./
|
||||||
+ [[https://github.com/jwiegley/nix-update-el][nix-update]]
|
|
||||||
|
|
||||||
* Prerequisites
|
** Packages
|
||||||
+ ~nixfmt~ is required to use formatting
|
- [[doom-package:][company-nixos-options]] if [[doom-module:][:completion company]]
|
||||||
+ If you have Nix(OS) installed it can be installed through Nix configuration ~environment.systemPackages = with pkgs; [ nixfmt ];~ (recommended)
|
- [[doom-package:][helm-nixos-options]] if [[doom-module:][:completion helm]]
|
||||||
+ Or through nix-env ~nix-env -iA nixpkgs.nixfmt~
|
- [[doom-package:][nix-mode]]
|
||||||
+ Or through nix-shell ~nix-shell -f https://github.com/serokell/nixfmt/archive/master.tar.gz -i~
|
- [[doom-package:][nix-update]]
|
||||||
+ ~:editor format~ ~format-all~ also supports ~nixfmt~ so you can use that also to format Nix code, default binding is ~SPC c f~ in evil.
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires:
|
||||||
|
- [[https://nixos.org/guides/install-nix.html][The Nix package manager]], for a variety of its features (besides syntax
|
||||||
|
highlighting).
|
||||||
|
- =nixfmt=, for automatic formatting (requires [[doom-module:][:editor format]]).
|
||||||
|
|
||||||
|
- *MacOS:* TODO
|
||||||
|
- *Arch Linux:* TODO
|
||||||
|
- *NixOS:* in ~pkgs.nixfmt~
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Features
|
|
||||||
** Keybindings
|
** Keybindings
|
||||||
| Binding | Description |
|
| Binding | Description |
|
||||||
|-------------------+----------------------|
|
|-----------------+----------------------|
|
||||||
| ~<localleader> b~ | ~nix-build~ |
|
| [[kbd:][<localleader> b]] | ~nix-build~ |
|
||||||
| ~<localleader> f~ | ~nix-update-fetch~ |
|
| [[kbd:][<localleader> f]] | ~nix-update-fetch~ |
|
||||||
| ~<localleader> o~ | ~+nix/lookup-option~ |
|
| [[kbd:][<localleader> o]] | ~+nix/lookup-option~ |
|
||||||
| ~<localleader> p~ | ~nix-format-buffer~ |
|
| [[kbd:][<localleader> p]] | ~nix-format-buffer~ |
|
||||||
| ~<localleader> r~ | ~nix-repl-show~ |
|
| [[kbd:][<localleader> r]] | ~nix-repl-show~ |
|
||||||
| ~<localleader> s~ | ~nix-repl-shell~ |
|
| [[kbd:][<localleader> s]] | ~nix-repl-shell~ |
|
||||||
| ~<localleader> u~ | ~nix-unpack~ |
|
| [[kbd:][<localleader> u]] | ~nix-unpack~ |
|
||||||
|
|
||||||
* Configuration
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
+ There aren't any known problems.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,93 +1,113 @@
|
||||||
#+TITLE: lang/ocaml
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang ocaml][Issues]] ↖ [[doom-module-source:lang/ocaml][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: June 27, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.3
|
#+TITLE: :lang ocaml
|
||||||
|
#+SUBTITLE: An objective camel
|
||||||
|
#+CREATED: June 27, 2017
|
||||||
|
#+SINCE: 2.0.4 (#128)
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds [[https://ocaml.org/][OCaml]] support to Doom Emacs, powered by [[doom-package:][tuareg-mode]].
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#appendix][Appendix]]
|
|
||||||
- [[#commands][Commands]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
|
|
||||||
* Description
|
- Code completion, documentation look-up, code navigation and refactoring
|
||||||
This module adds [[https://ocaml.org/][OCaml]] support to Doom Emacs, powered by [[https://github.com/ocaml/tuareg][tuareg-mode]].
|
([[doom-package:][merlin]])
|
||||||
|
- Type, documentation and function argument display on idle ([[doom-package:][merlin-eldoc]])
|
||||||
|
- REPL ([[doom-package:][utop]])
|
||||||
|
- Syntax-checking ([[doom-package:][merlin]] with [[doom-package:][flycheck-ocaml]])
|
||||||
|
- Auto-indentation ([[doom-package:][ocp-indent]])
|
||||||
|
- Code formatting ([[doom-package:][ocamlformat]])
|
||||||
|
- Dune file format ([[doom-package:][dune]])
|
||||||
|
|
||||||
+ Code completion, documentation look-up, code navigation and refactoring
|
** Maintainers
|
||||||
([[https://github.com/ocaml/merlin/wiki/emacs-from-scratch][merlin]])
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ Type, documentation and function argument display on idle ([[https://github.com/Khady/merlin-eldoc][merlin-eldoc]])
|
|
||||||
+ REPL ([[https://github.com/ocaml-community/utop][utop]])
|
|
||||||
+ Syntax-checking (~merlin~ with [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]])
|
|
||||||
+ Auto-indentation ([[https://github.com/OCamlPro/ocp-indent][ocp-indent]])
|
|
||||||
+ Code formatting ([[https://github.com/ocaml-ppx/ocamlformat][ocamlformat]])
|
|
||||||
+ Dune file format ([[http://dune.build/][dune]])
|
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
This module provides no flags.
|
- +lsp ::
|
||||||
|
Enable LSP support for ~tuareg-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/freebroccolo/ocaml-language-server][ocaml-language-server]]).
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/ocaml/tuareg][tuareg]]
|
- [[doom-package:][dune]]
|
||||||
+ [[https://github.com/ocaml/merlin][merlin]]
|
- [[doom-package:][ocamlformat]] if [[doom-module:][:editor format]]
|
||||||
+ [[https://github.com/Khady/merlin-eldoc][merlin-eldoc]]
|
- [[doom-package:][ocp-indent]]
|
||||||
+ [[https://github.com/OCamlPro/ocp-indent][ocp-indent]]
|
- [[doom-package:][tuareg]]
|
||||||
+ [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]]*
|
- [[doom-package:][utop]] if [[doom-module:][:tools eval]]
|
||||||
+ [[https://github.com/ocaml-community/utop][utop]]*
|
- unless [[doom-module:][+lsp]]
|
||||||
+ [[https://github.com/ocaml-ppx/ocamlformat][ocamlformat]]*
|
- [[doom-package:][flycheck-ocaml]] if [[doom-module:][:checkers syntax]]
|
||||||
+ [[https://github.com/ocaml/dune][dune]]
|
- [[doom-package:][merlin]]
|
||||||
|
- [[doom-package:][merlin-company]]
|
||||||
* Prerequisites
|
- [[doom-package:][merlin-eldoc]]
|
||||||
This module has no hard dependencies, but it is recommanded that you install
|
|
||||||
[[http://opam.ocaml.org/][opam]] and the following opam (optional) packages:
|
|
||||||
|
|
||||||
#+BEGIN_SRC shell
|
|
||||||
opam install merlin utop ocp-indent dune ocamlformat
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
* Features
|
|
||||||
+ The following files should have syntax highlighting support: ~.ml{i,p,y,}~,
|
|
||||||
~.eliom{i,}~, ~jbuild~, ~dune~, ~opam~
|
|
||||||
+ =merlin-mode= is activated whenever a =.merlin= file is found (including in a
|
|
||||||
parent directory) and =ocamlmerlin= executable is present
|
|
||||||
+ Line-based auto-indentation is provided by =ocp-indent=, if it is available.
|
|
||||||
|
|
||||||
* Configuration
|
|
||||||
+ If =:completion company= is enabled then autocomplete is provided by =merlin=
|
|
||||||
+ When =:checkers syntax= is enabled then =flycheck-ocaml= is activated to do
|
|
||||||
on-the-fly syntax/type checking via =merlin=, otherwise this is only done when
|
|
||||||
the file is saved.
|
|
||||||
+ Spell checking is activated in comments if =:checkers spell= is active
|
|
||||||
+ A REPL is provided if =utop= is installed and =:tools eval= is active
|
|
||||||
+ If =:editor format= is enabled, the =ocamlformat= executable is available and
|
|
||||||
there is an =.ocamlformat= file present then =format-all-buffer= is bound to
|
|
||||||
=ocamlformat=, otherwise to =ocp-indent=
|
|
||||||
+ If =:editor multiple-cursors= is enabled then identifiers can be refactored
|
|
||||||
with =v R= and multiple cursors (this correctly matches identifier occurrences
|
|
||||||
according to scope, it is not purely a textual match)
|
|
||||||
+ If =:emacs imenu= is enabled then top level symbols (modules, type, functions,
|
|
||||||
etc.) can be looked up using =SPC / i=
|
|
||||||
|
|
||||||
Run =doom sync= to install all packages and =doom doctor= to diagnose missing
|
|
||||||
tools.
|
|
||||||
|
|
||||||
* Appendix
|
|
||||||
** Commands
|
|
||||||
| Command | Key | Description |
|
|
||||||
|------------------------------+-------------------+-----------------------------------------------------------|
|
|
||||||
| =merlin-type-enclosing= | =<localleader> t= | display type under point |
|
|
||||||
| =tuareg-find-alternate-file= | =<localleader> a= | switch between =.ml= and =.mli= |
|
|
||||||
| =merlin-locate= | =g d= | lookup definition |
|
|
||||||
| =merlin-occurences= | =SPC c D= | lookup references |
|
|
||||||
| =merlin-document= | =K= | lookup documentation |
|
|
||||||
| =merlin-imenu= | =SPC s i= | symbol lookup in file |
|
|
||||||
| =merlin-iedit-occurrences= | =v R= | visual refactor identifier under point (multiple cursors) |
|
|
||||||
| =utop= | =SPC o r= | open =utop= as REPL |
|
|
||||||
| =utop-eval-region= | =SPC c e= | evaluate selected region in =utop= |
|
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
+ =set-ligatures!= is called with the full tuareg prettify symbol list, this
|
- ~set-ligatures!~ is called with the full tuareg prettify symbol list, this can
|
||||||
can cause columns to change as certain keywords are shortened (e.g. =fun=
|
cause columns to change as certain keywords are shortened (e.g. =fun= becomes
|
||||||
becomes \lambda.
|
\lambda).
|
||||||
+ =tuareg-opam-update-env= is called the first time =tuareg= is loaded
|
- ~tuareg-opam-update-env~ is called the first time [[doom-package:][tuareg]] is loaded
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires the following packages available through [[http://opam.ocaml.org/][opam]]:
|
||||||
|
- merlin
|
||||||
|
- utop
|
||||||
|
- ocp-indent
|
||||||
|
- dune
|
||||||
|
- ocamlformat
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
- The following files should have syntax highlighting support: ~.ml{i,p,y,}~,
|
||||||
|
~.eliom{i,}~, ~jbuild~, ~dune~, ~opam~
|
||||||
|
- ~merlin-mode~ is activated whenever a =.merlin= file is found (including in a
|
||||||
|
parent directory) and =ocamlmerlin= executable is present
|
||||||
|
- Line-based auto-indentation is provided by =ocp-indent=, if it is available.
|
||||||
|
|
||||||
|
| Command | Key | Description |
|
||||||
|
|------------------------------+-----------------+-----------------------------------------------------------|
|
||||||
|
| ~merlin-type-enclosing~ | [[kbd:][<localleader> t]] | display type under point |
|
||||||
|
| ~tuareg-find-alternate-file~ | [[kbd:][<localleader> a]] | switch between =.ml= and =.mli= |
|
||||||
|
| ~merlin-locate~ | [[kbd:][g d]] | lookup definition |
|
||||||
|
| ~merlin-occurences~ | [[kbd:][SPC c D]] | lookup references |
|
||||||
|
| ~merlin-document~ | [[kbd:][K]] | lookup documentation |
|
||||||
|
| ~merlin-imenu~ | [[kbd:][SPC s i]] | symbol lookup in file |
|
||||||
|
| ~merlin-iedit-occurrences~ | [[kbd:][v R]] | visual refactor identifier under point (multiple cursors) |
|
||||||
|
| ~utop~ | [[kbd:][SPC o r]] | open =utop= as REPL |
|
||||||
|
| ~utop-eval-region~ | [[kbd:][SPC c e]] | evaluate selected region in =utop= |
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
- If [[doom-module:][:completion company]] is enabled then autocomplete is provided by [[doom-package:][merlin]]
|
||||||
|
- When [[doom-module:][:checkers syntax]] is enabled then [[doom-package:][flycheck-ocaml]] is activated to do
|
||||||
|
on-the-fly syntax/type checking via [[doom-package:][merlin]], otherwise this is only done when
|
||||||
|
the file is saved.
|
||||||
|
- Spell checking is activated in comments if [[doom-module:][:checkers spell]] is active
|
||||||
|
- A REPL is provided if [[doom-package:][utop]] is installed and [[doom-module:][:tools eval]] is active
|
||||||
|
- If [[doom-module:][:editor format]] is enabled, the =ocamlformat= executable is available and
|
||||||
|
there is an =.ocamlformat= file present then ~format-all-buffer~ is bound to
|
||||||
|
=ocamlformat=, otherwise to =ocp-indent=
|
||||||
|
- If [[doom-module:][:editor multiple-cursors]] is enabled then identifiers can be refactored with
|
||||||
|
[[kbd:][v R]] and multiple cursors (this correctly matches identifier occurrences
|
||||||
|
according to scope, it is not purely a textual match)
|
||||||
|
|
||||||
|
Run ~$ doom sync~ to install all packages and ~$ doom doctor~ to diagnose
|
||||||
|
missing tools.
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,48 +1,29 @@
|
||||||
#+TITLE: lang/org
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang org][Issues]] ↖ [[doom-module-source:lang/org][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: February 19, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: 2.0
|
#+TITLE: :lang org
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: Organize your plain life in plain text
|
||||||
|
#+CREATED: February 20, 2017
|
||||||
|
#+SINCE: 2.0.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#macos][MacOS]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#nixos][NixOS]]
|
|
||||||
- [[#windows][Windows]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#invoking-the-org-capture-frame-from-outside-emacs][Invoking the org-capture frame from outside Emacs]]
|
|
||||||
- [[#built-in-custom-link-types][Built-in custom link types]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#changing-org-directory][Changing ~org-directory~]]
|
|
||||||
- [[#changing-org-noter-notes-search-path][Changing ~org-noter-notes-search-path~]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
- [[#org-roam][=org-roam=]]
|
|
||||||
- [[#should-i-go-with-roam-v1-or-roam2-v2][Should I go with =+roam= (v1) or =+roam2= (v2)?]]
|
|
||||||
- [[#migrating-your-existing-files-from-v1-roam-to-v2-roam2][Migrating your existing files from v1 (=+roam=) to v2 (=+roam2=)]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds org-mode support to Doom Emacs, along with a number of
|
This module adds org-mode support to Doom Emacs, along with a number of
|
||||||
adjustments, extensions and reasonable defaults to make it more performant and
|
adjustments, extensions and reasonable defaults to make it more performant and
|
||||||
intuitive out of the box:
|
intuitive out of the box:
|
||||||
|
|
||||||
+ A custom, centralized attachment system that stores files in one place, rather
|
- A custom, centralized attachment system that stores files in one place, rather
|
||||||
than in the same directory as the input file(s) (only applies to attachments
|
than in the same directory as the input file(s) (only applies to attachments
|
||||||
from files in/under =org-directory=).
|
from files in/under ~org-directory~).
|
||||||
+ Executable code blocks with support for a variety of languages and tools
|
- Executable code blocks with support for a variety of languages and tools
|
||||||
(depending on what :lang modules are enabled).
|
(depending on what :lang modules are enabled).
|
||||||
+ Supports an external org-capture workflow through the =bin/org-capture= shell
|
- Supports an external org-capture workflow through the =bin/org-capture= shell
|
||||||
script and ~+org-capture/open-frame~.
|
script and ~+org-capture/open-frame~.
|
||||||
+ A configuration for using org-mode for slide-show presentations or exporting
|
- A configuration for using org-mode for slide-show presentations or exporting
|
||||||
org files to reveal.js slideshows.
|
org files to reveal.js slideshows.
|
||||||
+ Drag-and-drop support for images (with inline preview) and media files (drops
|
- Drag-and-drop support for images (with inline preview) and media files (drops
|
||||||
a file icon and a short link) (requires =+dragndrop= flag).
|
a file icon and a short link) (requires [[doom-module:][+dragndrop]] flag).
|
||||||
+ Integration with pandoc, ipython, jupyter, reveal.js, beamer, and others
|
- Integration with pandoc, ipython, jupyter, reveal.js, beamer, and others
|
||||||
(requires flags).
|
(requires flags).
|
||||||
+ Export-to-clipboard functionality, for copying text into formatted html,
|
- Export-to-clipboard functionality, for copying text into formatted html,
|
||||||
markdown or rich text to the clipboard (see ~+org/export-to-clipboard~ and
|
markdown or rich text to the clipboard (see ~+org/export-to-clipboard~ and
|
||||||
~+org/export-to-clipboard-as-rich-text~).
|
~+org/export-to-clipboard-as-rich-text~).
|
||||||
|
|
||||||
|
@ -56,218 +37,228 @@ executed.
|
||||||
https://www.mfoot.com/blog/2015/11/22/literate-emacs-configuration-with-org-mode/
|
https://www.mfoot.com/blog/2015/11/22/literate-emacs-configuration-with-org-mode/
|
||||||
#+end_quote
|
#+end_quote
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ =+brain= Enables [[https://github.com/Kungsgeten/org-brain][org-brain]] integration.
|
- [[doom-user:][@hlissner]]
|
||||||
+ =+dragndrop= Enables drag-and-drop support for images and files; inserts
|
|
||||||
inline previews for images and an icon+link for other media types.
|
|
||||||
+ =+gnuplot= Installs gnuplot & gnuplot-mode, which enables rendering images
|
|
||||||
from gnuplot src blocks or plotting tables with ~org-plot/gnuplot~ (bound to
|
|
||||||
=SPC m b p=, by default).
|
|
||||||
+ =+hugo= Enables integration with [[https://gohugo.io][hugo]] to export from Emacs well-formed
|
|
||||||
([[https://github.com/russross/blackfriday][blackfriday]]) markdown.
|
|
||||||
+ =+ipython= (**DEPRECATED**) Enables ipython integration for babel.
|
|
||||||
+ =+journal= Enables [[https://github.com/bastibe/org-journal][org-journal]] integration.
|
|
||||||
+ =+jupyter= Enables Jupyter integration for babel.
|
|
||||||
+ =+noter= Enables org-noter integration. Keeps notes in sync with a document.
|
|
||||||
Requires [[https://github.com/politza/pdf-tools][pdf-tools]] (=:tools pdf=) or [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Document-View.html][DocView]] or [[https://github.com/wasamasa/nov.el][nov.el]] to be enabled.
|
|
||||||
+ =+pandoc= Enables pandoc integration into the Org exporter.
|
|
||||||
+ =+pomodoro= Enables a pomodoro timer for clocking time on tasks.
|
|
||||||
+ =+present= Enables integration with reveal.js, beamer and org-tree-slide, so
|
|
||||||
Emacs can be used for presentations. It automatically downloads [[https://github.com/hakimel/reveal.js][reveal.js]].
|
|
||||||
+ =+pretty= Enables pretty unicode symbols for bullets and priorities, and
|
|
||||||
better syntax highlighting for latex. Keep in mind: this can be expensive. If
|
|
||||||
org becomes too slow, it'd be wise to disable this flag.
|
|
||||||
+ =+roam= Enables integration with [[https://github.com/org-roam/org-roam-v1][org-roam v1]]. This requires ~sqlite3~ to be
|
|
||||||
installed on your system. Incompatible with =+roam2=.
|
|
||||||
+ =+roam2= Enables integration with [[https://github.com/org-roam/org-roam][org-roam v2]]. This requires ~sqlite3~ to be
|
|
||||||
installed on your system. Incompatible with =+roam=.
|
|
||||||
|
|
||||||
** Plugins
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ [[https://github.com/hniksic/emacs-htmlize][htmlize]]
|
|
||||||
+ [[https://github.com/astahlman/ob-async][ob-async]]
|
|
||||||
+ [[https://github.com/rexim/org-cliplink][org-cliplink]]
|
|
||||||
+ [[https://github.com/magit/orgit][orgit]]
|
|
||||||
+ [[https://orgmode.org/][org-plus-contrib]]
|
|
||||||
+ [[https://github.com/TobiasZawada/org-yt][org-yt]]
|
|
||||||
+ [[https://github.com/jkitchin/ox-clip][ox-clip]]
|
|
||||||
+ [[https://github.com/snosov1/toc-org][toc-org]]
|
|
||||||
+ =:lang crystal=
|
|
||||||
+ [[https://github.com/brantou/ob-crystal][ob-crystal]]
|
|
||||||
+ =:lang go=
|
|
||||||
+ [[https://github.com/pope/ob-go][ob-go]]
|
|
||||||
+ =:lang nim=
|
|
||||||
+ [[https://github.com/Lompik/ob-nim][ob-nim]]
|
|
||||||
+ =:lang racket=
|
|
||||||
+ [[https://github.com/DEADB17/ob-racket][ob-racket]]
|
|
||||||
+ =:lang rest=
|
|
||||||
+ [[https://github.com/alf/ob-restclient.el][ob-restclient]]
|
|
||||||
+ =:lang rst=
|
|
||||||
+ [[https://github.com/msnoigrs/ox-rst][ox-rst]]
|
|
||||||
+ =:lang rust=
|
|
||||||
+ [[https://github.com/micanzhang/ob-rust][ob-rust]]
|
|
||||||
+ =:lang scala=
|
|
||||||
+ [[https://github.com/zwild/ob-ammonite][ob-ammonite]]
|
|
||||||
+ =:editor evil=
|
|
||||||
+ [[https://github.com/Somelauw/evil-org-mode][evil-org]]
|
|
||||||
+ =:tools pdf=
|
|
||||||
+ [[https://github.com/fuxialexander/org-pdftools][org-pdftools]]
|
|
||||||
+ =+dragndrop=
|
|
||||||
+ [[https://github.com/abo-abo/org-download][org-download]]
|
|
||||||
+ =+gnuplot=
|
|
||||||
+ [[https://github.com/mkmcc/gnuplot-mode][gnuplot]]
|
|
||||||
+ [[https://github.com/bruceravel/gnuplot-mode][gnuplot-mode]]
|
|
||||||
+ =+hugo=
|
|
||||||
+ [[https://github.com/kaushalmodi/ox-hugo][ox-hugo]]
|
|
||||||
+ =+ipython=
|
|
||||||
+ [[https://github.com/gregsexton/ob-ipython][ob-ipython]]
|
|
||||||
+ =+jupyter=
|
|
||||||
+ [[https://github.com/dzop/emacs-jupyter][jupyter]]
|
|
||||||
+ =+pandoc=
|
|
||||||
+ [[https://github.com/kawabata/ox-pandoc][ox-pandoc]]
|
|
||||||
+ =+pomodoro=
|
|
||||||
+ [[https://github.com/marcinkoziej/org-pomodoro][org-pomodoro]]
|
|
||||||
+ =+present=
|
|
||||||
+ [[https://github.com/anler/centered-window-mode][centered-window]]
|
|
||||||
+ [[https://github.com/takaxp/org-tree-slide][org-tree-slide]]
|
|
||||||
+ [[https://gitlab.com/oer/org-re-reveal][org-re-reveal]]
|
|
||||||
+ =+pretty=
|
|
||||||
+ [[https://github.com/integral-dw/org-superstar-mode][org-superstar]]
|
|
||||||
+ [[https://github.com/harrybournis/org-fancy-priorities][org-fancy-priorities]]
|
|
||||||
+ =+roam=
|
|
||||||
+ [[https://github.com/org-roam/org-roam-v1][org-roam]] (v1)
|
|
||||||
+ =+roam2=
|
|
||||||
- [[https://github.com/org-roam/org-roam][org-roam]] (v2)
|
|
||||||
+ =+noter=
|
|
||||||
+ [[https://github.com/weirdNox/org-noter][org-noter]]
|
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
- +brain ::
|
||||||
|
Enable [[https://github.com/Kungsgeten/org-brain][org-brain]] integration.
|
||||||
|
- +dragndrop ::
|
||||||
|
Enable drag-and-drop support for images and files; inserts inline previews
|
||||||
|
for images and an icon+link for other media types.
|
||||||
|
- +gnuplot ::
|
||||||
|
Install gnuplot & gnuplot-mode, which enables rendering images from gnuplot
|
||||||
|
src blocks or plotting tables with ~org-plot/gnuplot~ (bound to =SPC m b p=,
|
||||||
|
by default).
|
||||||
|
- +hugo ::
|
||||||
|
Enable integration with [[https://gohugo.io][hugo]] to export from Emacs well-formed ([[https://github.com/russross/blackfriday][blackfriday]])
|
||||||
|
markdown.
|
||||||
|
- +ipython ::
|
||||||
|
(**DEPRECATED**) Enable ipython integration for babel.
|
||||||
|
- +journal ::
|
||||||
|
Enable [[doom-package:][org-journal]] integration.
|
||||||
|
- +jupyter ::
|
||||||
|
Enable Jupyter integration for babel.
|
||||||
|
- +noter ::
|
||||||
|
Enable [[doom-package:][org-noter]] integration. Keeps notes in sync with a document. Requires
|
||||||
|
[[doom-module:][:tools pdf]], [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Document-View.html][DocView]], or [[https://github.com/wasamasa/nov.el][nov.el]] to be enabled.
|
||||||
|
- +pandoc ::
|
||||||
|
Enable pandoc integration into the Org exporter.
|
||||||
|
- +pomodoro ::
|
||||||
|
Enable a pomodoro timer for clocking time on tasks.
|
||||||
|
- +present ::
|
||||||
|
Enable integration with reveal.js, beamer and org-tree-slide, so Emacs can be
|
||||||
|
used for presentations. It automatically downloads [[https://github.com/hakimel/reveal.js][reveal.js]].
|
||||||
|
- +pretty ::
|
||||||
|
Enable pretty unicode symbols for bullets and priorities, and better syntax
|
||||||
|
highlighting for latex. Keep in mind: this can be expensive. If org becomes
|
||||||
|
too slow, it'd be wise to disable this flag.
|
||||||
|
- +roam ::
|
||||||
|
Enable integration with [[https://github.com/org-roam/org-roam-v1][org-roam v1]]. This requires ~sqlite3~ to be installed
|
||||||
|
on your system. /Incompatible with [[doom-module:][+roam2]]./
|
||||||
|
- +roam2 ::
|
||||||
|
Enable integration with [[https://github.com/org-roam/org-roam][org-roam v2]]. This requires ~sqlite3~ to be installed
|
||||||
|
on your system. /Incompatible with [[doom-module:][+roam]]./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][evil-org]] if [[doom-package:][:editor evil]]
|
||||||
|
- [[doom-package:][htmlize]]
|
||||||
|
- [[doom-package:][jupyter]] if [[doom-package:][+jupyter]]
|
||||||
|
- [[doom-package:][ob-ammonite]] if [[doom-package:][:lang scala]]
|
||||||
|
- [[doom-package:][ob-async]]
|
||||||
|
- [[doom-package:][ob-crystal]] if [[doom-package:][:lang crystal]]
|
||||||
|
- [[doom-package:][ob-go]] if [[doom-package:][:lang go]]
|
||||||
|
- [[doom-package:][ob-ipython]] if [[doom-package:][+ipython]]
|
||||||
|
- [[doom-package:][ob-nim]] if [[doom-package:][:lang nim]]
|
||||||
|
- [[doom-package:][ob-racket]] if [[doom-package:][:lang racket]]
|
||||||
|
- [[doom-package:][ob-restclient]] if [[doom-package:][:lang rest]]
|
||||||
|
- [[doom-package:][ob-rust]] if [[doom-package:][:lang rust]]
|
||||||
|
- [[doom-package:][org-cliplink]]
|
||||||
|
- [[doom-package:][org-download]] if [[doom-package:][+dragndrop]]
|
||||||
|
- [[doom-package:][orgit]]
|
||||||
|
- [[doom-package:][org-noter]] if [[doom-package:][+noter]]
|
||||||
|
- [[doom-package:][org-pdftools]] if [[doom-package:][:tools pdf]]
|
||||||
|
- [[doom-package:][org-plus-contrib]]
|
||||||
|
- [[doom-package:][org-pomodoro]] if [[doom-package:][+pomodoro]]
|
||||||
|
- [[doom-package:][org-roam]] (v1) if [[doom-package:][+roam]]
|
||||||
|
- [[doom-package:][org-roam]] (v2) if [[doom-package:][+roam2]]
|
||||||
|
- [[doom-package:][org-yt]]
|
||||||
|
- [[doom-package:][ox-clip]]
|
||||||
|
- [[doom-package:][ox-hugo]] if [[doom-package:][+hugo]]
|
||||||
|
- [[doom-package:][ox-pandoc]] if [[doom-package:][+pandoc]]
|
||||||
|
- [[doom-package:][ox-rst]] if [[doom-package:][:lang rst]]
|
||||||
|
- [[doom-package:][toc-org]]
|
||||||
|
- if [[doom-package:][+gnuplot]]
|
||||||
|
- [[doom-package:][gnuplot]]
|
||||||
|
- [[doom-package:][gnuplot-mode]]
|
||||||
|
- if [[doom-package:][+present]]
|
||||||
|
- [[doom-package:][centered-window]]
|
||||||
|
- [[doom-package:][org-tree-slide]]
|
||||||
|
- [[doom-package:][org-re-reveal]]
|
||||||
|
- if [[doom-package:][+pretty]]
|
||||||
|
- [[doom-package:][org-superstar]]
|
||||||
|
- [[doom-package:][org-fancy-priorities]]
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
+ Adds support for a ~:sync~ parameter for org src blocks. This overrides
|
- Adds support for a ~:sync~ parameter for org src blocks. This overrides
|
||||||
~:async~.
|
~:async~.
|
||||||
+ Gracefully degrades ~:async~ babel blocks to ~:sync~ when =ob-async= would
|
- Gracefully degrades ~:async~ babel blocks to ~:sync~ when [[doom-package:][ob-async]] would cause
|
||||||
cause errors or issues (such as with a ~:session~ parameter, which =ob-async=
|
errors or issues (such as with a ~:session~ parameter, which [[doom-package:][ob-async]] does not
|
||||||
does not support, or when exporting org documents).
|
support, or when exporting org documents).
|
||||||
+ The window is recentered when following links.
|
- The window is recentered when following links.
|
||||||
+ The breadcrumbs displayed in eldoc when hovering over an org headline has been
|
- The breadcrumbs displayed in eldoc when hovering over an org headline has been
|
||||||
reworked to strip out link syntax and normalize font-size disparities.
|
reworked to strip out link syntax and normalize font-size disparities.
|
||||||
+ If =:ui workspaces= is enabled, persp-mode won't register org agenda buffers that
|
- If [[doom-module:][:ui workspaces]] is enabled, persp-mode won't register org agenda buffers
|
||||||
are temporarily opened in the background.
|
that are temporarily opened in the background.
|
||||||
+ Temporary org agenda files aren't added to recentf.
|
- Temporary org agenda files aren't added to recentf.
|
||||||
+ =file:= links are highlighted with the ~error~ face if they are broken.
|
- =file:= links are highlighted with the ~error~ face if they are broken.
|
||||||
+ TAB was changed to toggle only the visibility state of the current subtree,
|
- TAB was changed to toggle only the visibility state of the current subtree,
|
||||||
rather than cycle through it recursively. This can be reversed with:
|
rather than cycle through it recursively. This can be reversed with:
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(after! evil-org
|
(after! evil-org
|
||||||
(remove-hook 'org-tab-first-hook #'+org-cycle-only-current-subtree-h))
|
(remove-hook 'org-tab-first-hook #'+org-cycle-only-current-subtree-h))
|
||||||
#+END_SRC
|
#+end_src
|
||||||
+ (Evil users) Nearby tables are formatted when exiting insert or replace mode
|
- (Evil users) Nearby tables are formatted when exiting insert or replace mode
|
||||||
(see ~+org-enable-auto-reformat-tables-h~).
|
(see ~+org-enable-auto-reformat-tables-h~).
|
||||||
+ Statistics cookies are updated when saving the buffer of exiting insert mode
|
- Statistics cookies are updated when saving the buffer of exiting insert mode
|
||||||
(see ~+org-enable-auto-update-cookies-h~).
|
(see ~+org-enable-auto-update-cookies-h~).
|
||||||
+ Org-protocol has been lazy loaded (see ~+org-init-protocol-lazy-loader-h~);
|
- Org-protocol has been lazy loaded (see ~+org-init-protocol-lazy-loader-h~);
|
||||||
loaded when the server receives a request for an org-protocol:// url.
|
loaded when the server receives a request for an org-protocol:// url.
|
||||||
+ Babel and babel plugins are now lazy loaded (see
|
- Babel and babel plugins are now lazy loaded (see
|
||||||
~+org-init-babel-lazy-loader-h~); loaded when a src block is executed. No need
|
~+org-init-babel-lazy-loader-h~); loaded when a src block is executed. No need
|
||||||
to use ~org-babel-do-load-languages~ in your config, just install your babel
|
to use ~org-babel-do-load-languages~ in your config, just install your babel
|
||||||
packages to extend language support (and ensure its ~org-babel-execute:*~
|
packages to extend language support (and ensure its ~org-babel-execute:*~
|
||||||
function is autoloaded).
|
function is autoloaded).
|
||||||
+ If a variable is used as a file path in ~org-capture-template~, it will be
|
- If a variable is used as a file path in ~org-capture-template~, it will be
|
||||||
resolved relative to ~org-directory~, instead of ~default-directory~ (see
|
resolved relative to ~org-directory~, instead of ~default-directory~ (see
|
||||||
~+org-capture-expand-variable-file-a~).
|
~+org-capture-expand-variable-file-a~).
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
Org has a few soft dependencies that you will need to make use of Org's more
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
esoteric features:
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
+ For inline LaTeX previews, ~latex~ and ~dvipng~ is needed.
|
* Installation
|
||||||
+ To render GNUPlot images (with =+gnuplot= flag) the ~gnuplot~ program is
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
needed.
|
|
||||||
+ To execute babel code blocks, you need whatever dependencies those languages
|
This module has no hard requirements, but these soft requirements are needed to
|
||||||
need. It is recommended you enable the associated =:lang= module and ensure
|
use Org's more esoteric features:
|
||||||
its dependencies are met, e.g. install the =ruby= executable for ruby support.
|
- For inline LaTeX previews, ~latex~ and ~dvipng~ is needed.
|
||||||
To use ~jupyter kernels~ you need the =+jupyter= flag, the associated kernel as
|
- To render GNUPlot images (with [[doom-module:][+gnuplot]] flag) the ~gnuplot~ program is needed.
|
||||||
|
- To execute babel code blocks, you need whatever dependencies those languages
|
||||||
|
need. It is recommended you enable the associated [[doom-module:][:lang]] module and ensure its
|
||||||
|
dependencies are met, e.g. install the =ruby= executable for ruby support. To
|
||||||
|
use ~jupyter kernels~ you need the [[doom-module:][+jupyter]] flag, the associated kernel as
|
||||||
well as the ~jupyter~ program.
|
well as the ~jupyter~ program.
|
||||||
+ =org-roam= (with =+roam= or =+roam2= flag) requires =sqlite3= to be installed.
|
- [[doom-package:][org-roam]] (with [[doom-module:][+roam]] or [[doom-module:][+roam2]] flag) requires =sqlite3= to be installed.
|
||||||
|
|
||||||
** MacOS
|
** MacOS
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
brew install --cask mactex
|
brew install --cask mactex
|
||||||
brew install gnuplot
|
brew install gnuplot
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Arch Linux
|
** Arch Linux
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
pacman -S texlive-core texlive-bin texlive-science
|
pacman -S texlive-core texlive-bin texlive-science
|
||||||
pacman -S gnuplot
|
pacman -S gnuplot
|
||||||
pacman -S jupyter # required by +jupyter
|
pacman -S jupyter # required by +jupyter
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** NixOS
|
** NixOS
|
||||||
#+BEGIN_SRC nix
|
#+begin_src nix
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# any less than medium isn't guaranteed to work
|
# any less than medium isn't guaranteed to work
|
||||||
texlive.combined.scheme-medium
|
texlive.combined.scheme-medium
|
||||||
# required by +jupyter
|
# required by +jupyter
|
||||||
(python38.withPackages(ps: with ps; [jupyter]))
|
(python38.withPackages(ps: with ps; [jupyter]))
|
||||||
];
|
];
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** TODO Windows
|
** TODO Windows
|
||||||
|
|
||||||
* Features
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
** Invoking the org-capture frame from outside Emacs
|
** Invoking the org-capture frame from outside Emacs
|
||||||
The simplest way to use the org-capture frame is through the ~bin/org-capture~
|
The simplest way to use the org-capture frame is through the ~bin/org-capture~
|
||||||
script. I'd recommend binding a shortcut key to it. If Emacs isn't running, it
|
script. I'd recommend binding a shortcut key to it. If Emacs isn't running, it
|
||||||
will spawn a temporary daemon for you.
|
will spawn a temporary daemon for you.
|
||||||
|
|
||||||
Alternatively, you can call ~+org-capture/open-frame~ directly, e.g.
|
Alternatively, you can call ~+org-capture/open-frame~ directly, e.g.
|
||||||
|
#+begin_src sh
|
||||||
#+BEGIN_SRC sh
|
|
||||||
emacsclient --eval '(+org-capture/open-frame INTIAL-INPUT KEY)'
|
emacsclient --eval '(+org-capture/open-frame INTIAL-INPUT KEY)'
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Built-in custom link types
|
** Built-in custom link types
|
||||||
This module defines a number of custom link types in ~+org-init-custom-links-h~.
|
This module defines a number of custom link types in ~+org-init-custom-links-h~.
|
||||||
They are (with examples):
|
They are (with examples):
|
||||||
|
|
||||||
+ ~doom-docs:news/2.1.0~ (=~/.emacs.d/docs/%s=)
|
- ~doom-docs:index.org~ -> =~/.emacs.d/docs/%s=
|
||||||
+ ~doom-modules:editor/evil/README.org~ (=~/.emacs.d/modules/%s=)
|
- ~doom-modules:editor/evil/README.org~ -> =~/.emacs.d/modules/%s=
|
||||||
+ ~doom-repo:issues~ (=https://github.com/hlissner/doom-emacs/%s=)
|
- ~doom-repo:issues~ -> =https://github.com/hlissner/doom-emacs/%s=
|
||||||
+ ~doom:core/core.el~ (=~/.emacs.d/%s=)
|
- ~doom:core/core.el~ -> =~/.emacs.d/%s=
|
||||||
+ ~duckduckgo:search terms~
|
- ~duckduckgo:search terms~
|
||||||
+ ~gimages:search terms~ (Google Images)
|
- ~gimages:search terms~ (Google Images)
|
||||||
+ ~github:hlissner/doom-emacs~
|
- ~github:hlissner/doom-emacs~
|
||||||
+ ~gmap:Toronto, Ontario~ (Google Maps)
|
- ~gmap:Toronto, Ontario~ (Google Maps)
|
||||||
+ ~google:search terms~
|
- ~google:search terms~
|
||||||
+ ~org:todo.org~ (={org-directory}/%s=)
|
- ~org:todo.org~ -> ={org-directory}/%s=
|
||||||
+ ~wolfram:sin(x^3)~
|
- ~wolfram:sin(x^3)~
|
||||||
+ ~wikipedia:Emacs~
|
- ~wikipedia:Emacs~
|
||||||
+ ~youtube:P196hEuA_Xc~ (link only)
|
- ~youtube:P196hEuA_Xc~ (link only)
|
||||||
+ ~yt:P196hEuA_Xc~ (like =youtube=, but includes an inline preview of the video)
|
- ~yt:P196hEuA_Xc~ (like =youtube=, but includes an inline preview of the video)
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
|
||||||
** Changing ~org-directory~
|
** Changing ~org-directory~
|
||||||
To modify ~org-directory~ it must be set /before/ =org= has loaded:
|
~org-directory~ must be set /before/ [[doom-package:][org]] has loaded:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC emacs-lisp
|
;; in $DOOMDIR/config.el
|
||||||
;; ~/.doom.d/config.el
|
|
||||||
(setq org-directory "~/new/org/location/")
|
(setq org-directory "~/new/org/location/")
|
||||||
#+END_SRC
|
#+end_src
|
||||||
** Changing ~org-noter-notes-search-path~
|
|
||||||
To modify ~org-noter-notes-search-path~ set:
|
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
** Changing ~org-noter-notes-search-path~
|
||||||
;; ~/.doom.d/config.el
|
#+begin_src emacs-lisp
|
||||||
|
;; in $DOOMDIR/config.el
|
||||||
(setq org-noter-notes-search-path '("~/notes/path/"))
|
(setq org-noter-notes-search-path '("~/notes/path/"))
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
|
[[doom-report:][Report an issue?]]
|
||||||
|
|
||||||
** =org-roam=
|
** =org-roam=
|
||||||
*** Should I go with =+roam= (v1) or =+roam2= (v2)?
|
*** Should I go with =+roam= (v1) or =+roam2= (v2)?
|
||||||
Long story short: if you're new to =org-roam= and haven't used it, then you
|
Long story short: if you're new to [[doom-package:][org-roam]] and haven't used it, then you should
|
||||||
should go with =+roam2=; if you already have an ~org-roam-directory~ with the v1
|
go with [[doom-module:][+roam2]]; if you already have an ~org-roam-directory~ with the v1 files in
|
||||||
files in it, then you can keep use =+roam= for a time being.
|
it, then you can keep use [[doom-module:][+roam]] for a time being.
|
||||||
|
|
||||||
V1 isn't actively maintained anymore and is now basically EOL. This means that
|
V1 isn't actively maintained anymore and is now basically EOL. This means that
|
||||||
the feature disparity between the both will continue to grow, while its existing
|
the feature disparity between the both will continue to grow, while its existing
|
||||||
|
@ -291,14 +282,22 @@ appear during the migration process. Because of that, *don't forget to backup*
|
||||||
your ~org-roam-directory~ before attempting to migrate.
|
your ~org-roam-directory~ before attempting to migrate.
|
||||||
|
|
||||||
In order to migrate from v1 to v2 using Doom follow the next steps:
|
In order to migrate from v1 to v2 using Doom follow the next steps:
|
||||||
1. Enable =+roam2= flag (and disable =+roam= if it was previously enabled) in
|
1. Enable [[doom-module:][+roam2]] flag (and disable [[doom-module:][+roam]] if it was previously enabled) in your
|
||||||
your =init.el=.
|
=init.el=.
|
||||||
2. Ensure your ~org-roam-directory~ points to a directory with your v1 files.
|
2. Ensure your ~org-roam-directory~ points to a directory with your v1 files.
|
||||||
3. Run =doom sync -u= in your shell.
|
3. Run ~$ doom sync -u~ in your shell.
|
||||||
4. Restart Emacs (if it was previously opened) and run ~org-roam-migrate-wizard~
|
4. Restart Emacs (if it was previously opened) and run ~org-roam-migrate-wizard~
|
||||||
command (=M-x org-roam-migrate-wizard RET=). The wizard will automatically
|
command (~M-x org-roam-migrate-wizard RET~). The wizard will automatically
|
||||||
attempt to backup your previous ~org-roam-directory~ to =org-roam.bak=, but
|
attempt to backup your previous ~org-roam-directory~ to =org-roam.bak=, but
|
||||||
just in case backup it yourself too.
|
just in case backup it yourself too.
|
||||||
4. After the wizard is done you should be good to go. Verify the integrity of
|
4. After the wizard is done you should be good to go. Verify the integrity of
|
||||||
your data and whether it did everything as expected. In case of failure
|
your data and whether it did everything as expected. In case of failure
|
||||||
[[https://github.com/org-roam/org-roam/issues][report]] your issue.
|
[[https://github.com/org-roam/org-roam/issues][report]] your issue.
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,87 +1,77 @@
|
||||||
#+TITLE: lang/php
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang php][Issues]] ↖ [[doom-module-source:lang/php][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v1.3
|
#+TITLE: :lang php
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: Perl's insecure younger brother
|
||||||
|
#+CREATED: January 16, 2017
|
||||||
|
#+SINCE: 1.3
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds support for PHP 5.3+ (including PHP7) to Doom Emacs.
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#php][PHP]]
|
|
||||||
- [[#macos][MacOS]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#opensuse][openSUSE]]
|
|
||||||
- [[#dependencies][Dependencies]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#lsp-support][LSP Support]]
|
|
||||||
- [[#phpunit][PHPUnit]]
|
|
||||||
- [[#composer][Composer]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#docker-compose][Docker Compose]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
- [[#im-missing-functionality-on-lsp-mode]["I'm missing functionality on lsp-mode"]]
|
|
||||||
|
|
||||||
* Description
|
- ctags-based code completion (~company-php~ and ~phpctags~)
|
||||||
This module adds support for PHP 5.3+ (including PHP7).
|
- eldoc support (~ac-php~ and ~php-extras~)
|
||||||
|
- REPL (~php-boris~)
|
||||||
+ ctags-based code completion (~company-php~ and ~phpctags~)
|
- Code refactoring commands (~php-refactor-mode~)
|
||||||
+ eldoc support (~ac-php~ and ~php-extras~)
|
- Unit-test commands (~phpunit~)
|
||||||
+ REPL (~php-boris~)
|
- Support for ~laravel~ and ~composer~ projects (with project-specific snippets)
|
||||||
+ Code refactoring commands (~php-refactor-mode~)
|
- [[../../editor/file-templates/templates/php-mode][File templates]]
|
||||||
+ Unit-test commands (~phpunit~)
|
- [[https://github.com/hlissner/doom-snippets/tree/master/php-mode][Snippets]]
|
||||||
+ Support for ~laravel~ and ~composer~ projects (with project-specific snippets)
|
|
||||||
+ Shortcuts for composer commands
|
|
||||||
+ [[../../editor/file-templates/templates/php-mode][File templates]]
|
|
||||||
+ [[https://github.com/hlissner/doom-snippets/tree/master/php-mode][Snippets]]
|
|
||||||
|
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
PHP was the first programming language I got paid to code in, back in the
|
💡 PHP was the first programming language I got paid to code in, back in the
|
||||||
Cretaceous period (2003). My sincerest apologies go out to all the programmers
|
Cretaceous period (2003). My sincerest apologies go out to all the
|
||||||
who inherited my earliest PHP work. I know you're out there, writhing in your
|
programmers who inherited my earliest PHP work. I know you're out there,
|
||||||
straitjackets.
|
writhing in your straitjackets.
|
||||||
|
|
||||||
Save a programmer today. Stop a friend from choosing PHP as their first
|
Save a programmer today. Stop a friend from choosing PHP as their first
|
||||||
language.
|
language.
|
||||||
#+end_quote
|
#+end_quote
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ =+hack= Add support for the [[https://hacklang.org/][Hack dialect of PHP]] by Facebook.
|
- +hack ::
|
||||||
+ =+lsp= Enable LSP support through phpactor or intelephense. Requires the ~:tools
|
Add support for the [[https://hacklang.org/][Hack dialect of PHP]] by Facebook.
|
||||||
lsp~ module and the [[https://phpactor.readthedocs.io/en/develop/usage/standalone.html][phpactor server]] to be installed on your system.
|
- +lsp ::
|
||||||
** Plugins
|
Enable LSP support for ~php-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
+ [[https://github.com/tomterl/php-boris][async]]
|
(supports [[https://phpactor.readthedocs.io/en/develop/usage/standalone.html][phpactor]] and intelephense).
|
||||||
+ [[https://github.com/tomterl/php-boris][php-boris]]
|
|
||||||
+ [[https://github.com/arnested/php-extras][php-extras]]
|
** Packages
|
||||||
+ [[https://github.com/emacs-php/php-mode][php-mode]]
|
- [[doom-package:][async]]
|
||||||
+ [[https://github.com/keelerm84/php-refactor-mode.el][php-refactor-mode]]
|
- [[doom-package:][hack-mode]] if [[doom-module:][+hack]]
|
||||||
+ [[https://github.com/nlamirault/phpunit.el][phpunit]]
|
- [[doom-package:][php-boris]]
|
||||||
+ [[https://github.com/emacs-php/composer.el][composer.el]]
|
- [[doom-package:][php-cs-fixer]] if [[doom-package:][:editor format]]
|
||||||
+ =+hack=
|
- [[doom-package:][php-extras]]
|
||||||
+ [[https://github.com/hhvm/hack-mode][hack-mode]]
|
- [[doom-package:][php-mode]]
|
||||||
+ =+lsp=
|
- [[doom-package:][php-refactor-mode]]
|
||||||
+ [[https://github.com/emacs-php/phpactor.el][phpactor]]
|
- [[doom-package:][phpunit]]
|
||||||
+ [[https://github.com/emacs-php/phpactor.el][company-phpactor]]
|
- if [[doom-module:][+lsp]]
|
||||||
+ =:editor format=
|
- [[doom-package:][phpactor]]
|
||||||
+ [[https://github.com/OVYA/php-cs-fixer][php-cs-fixer]]
|
- [[doom-package:][company-phpactor]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires ~php~ (5.3+) and ~composer~.
|
||||||
|
|
||||||
|
If [[doom-module:][+lsp]] is enabled, you'll also need one of these LSP servers:
|
||||||
|
- Phpactor requires ~php~ 7.3+.
|
||||||
|
- Intelephense requires ~node~ and ~npm~.
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
** PHP
|
** PHP
|
||||||
To get started with PHP, you'll need ~php~ (5.3+) and ~composer~.
|
|
||||||
|
|
||||||
Note for =+lsp=:
|
|
||||||
1. In order to make full use of phpactor server, ~php~ (7.3+) is recommended.
|
|
||||||
2. If you use intelephense, ~node~ and ~npm~ are needed.
|
|
||||||
|
|
||||||
*** MacOS
|
*** MacOS
|
||||||
PHP 5.5 comes prepackaged with newer versions of MacOS. These instructions are
|
PHP 5.5 comes prepackaged with newer versions of MacOS. These instructions are
|
||||||
provided for reference:
|
provided for reference:
|
||||||
|
|
||||||
#+begin_src sh :tangle (if (doom-system-os 'macos) "yes")
|
#+begin_src sh
|
||||||
brew tap homebrew/homebrew-php
|
brew tap homebrew/homebrew-php
|
||||||
brew install php71 # or php53, php54, php55
|
brew install php71 # or php53, php54, php55
|
||||||
brew install composer
|
brew install composer
|
||||||
|
@ -92,7 +82,7 @@ brew install npm
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Arch Linux
|
*** Arch Linux
|
||||||
#+begin_src sh :dir /sudo:: :tangle (if (doom-system-os 'arch) "yes")
|
#+begin_src sh
|
||||||
sudo pacman --needed --noconfirm -S php composer # or php53, php54, php55
|
sudo pacman --needed --noconfirm -S php composer # or php53, php54, php55
|
||||||
|
|
||||||
# If you use intelephense:
|
# If you use intelephense:
|
||||||
|
@ -100,20 +90,32 @@ sudo pacman -S nodejs npm
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** openSUSE
|
*** openSUSE
|
||||||
#+begin_src sh :dir /sudo::
|
#+begin_src sh
|
||||||
sudo zypper install php-composer
|
sudo zypper install php-composer
|
||||||
|
|
||||||
# If you use intelephense:
|
# If you use intelephense:
|
||||||
sudo zypper install nodejs npm
|
sudo zypper install nodejs npm
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Dependencies
|
** LSP Support
|
||||||
This module has no required dependencies, but it has a couple optional ones.
|
There are a number of currently supported LSP servers:
|
||||||
|
|
||||||
+ ~boris~ (REPL)
|
- [[https://emacs-lsp.github.io/lsp-mode/page/lsp-intelephense/][Intelephense]] (_Recommended_)
|
||||||
+ ~phpctags~ (better code completion)
|
- [[https://emacs-lsp.github.io/lsp-mode/page/lsp-phpactor/][phpactor]]
|
||||||
+ ~phpunit~ (unit test commands)
|
- [[https://emacs-lsp.github.io/lsp-mode/page/lsp-serenata/][Serenata]]
|
||||||
+ ~php-cs-fixer~ and ~@prettier/plugin-php~ (for code formatting)
|
- [[https://emacs-lsp.github.io/lsp-mode/page/lsp-php/][felixbecker]] (Considered unsupported)
|
||||||
|
|
||||||
|
Intelephense is currently the only server that supports automatic installation,
|
||||||
|
which will trigger either when you open a PHP project or manually invoke
|
||||||
|
~lsp-install-server~ through [[kbd:][M-x]].
|
||||||
|
|
||||||
|
The others have to be installed manually and added to your =$PATH=.
|
||||||
|
|
||||||
|
** Dependencies
|
||||||
|
- ~boris~ (REPL)
|
||||||
|
- ~phpctags~ (better code completion)
|
||||||
|
- ~phpunit~ (unit test commands)
|
||||||
|
- ~php-cs-fixer~ and ~@prettier/plugin-php~ (for code formatting)
|
||||||
+ ~phpactor~ (for LSP if intelephense isn't desired)
|
+ ~phpactor~ (for LSP if intelephense isn't desired)
|
||||||
|
|
||||||
#+begin_src sh
|
#+begin_src sh
|
||||||
|
@ -129,34 +131,23 @@ composer global require \
|
||||||
npm install -g @prettier/plugin-php
|
npm install -g @prettier/plugin-php
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
You must ensure that ~~/.composer/vendor/bin~ is in ~PATH~, so these executables are
|
You must ensure that =$HOME/.composer/vendor/bin= is in =$PATH=, so these
|
||||||
visible to Emacs:
|
executables are visible to Emacs:
|
||||||
|
|
||||||
#+begin_src sh
|
#+begin_src sh
|
||||||
# place this in your profile file, like ~/.bash_profile or ~/.zshenv
|
# place this in your profile file, like ~/.bash_profile or ~/.zshenv
|
||||||
export PATH="~/.composer/vendor/bin:$PATH"
|
export PATH="~/.composer/vendor/bin:$PATH"
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
You may also need to regenerate your envvar file by running ~doom env~ on the
|
You may also need to regenerate your envvar file by running ~$ doom env~ on the
|
||||||
command line.
|
command line.
|
||||||
|
|
||||||
*NOTE* phpactor doesn't have to be installed via =composer=, just has to exist in
|
*NOTE* phpactor doesn't have to be installed via =composer=, just has to exist in
|
||||||
your =$PATH=.
|
your =$PATH=.
|
||||||
|
|
||||||
* Features
|
* TODO Usage
|
||||||
** LSP Support
|
#+begin_quote
|
||||||
There are a number of currently supported LSP servers:
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
+ [[https://emacs-lsp.github.io/lsp-mode/page/lsp-intelephense/][Intelephense]] (_Recommended_)
|
|
||||||
+ [[https://emacs-lsp.github.io/lsp-mode/page/lsp-phpactor/][phpactor]]
|
|
||||||
+ [[https://emacs-lsp.github.io/lsp-mode/page/lsp-serenata/][Serenata]]
|
|
||||||
+ [[https://emacs-lsp.github.io/lsp-mode/page/lsp-php/][felixbecker]] (Considered unsupported)
|
|
||||||
|
|
||||||
Intelephense is currently the only server that supports automatic installation,
|
|
||||||
which will trigger either when you open a PHP project or manually invoke
|
|
||||||
=lsp-install-server= through =M-x=.
|
|
||||||
|
|
||||||
The others have to be installed manually and added to your =$PATH=.
|
|
||||||
|
|
||||||
** PHPUnit
|
** PHPUnit
|
||||||
This module provides an interface to PHPUnit through a number of commands as
|
This module provides an interface to PHPUnit through a number of commands as
|
||||||
|
@ -178,21 +169,25 @@ use the ~phpunit.xml.dist~ convention) , the path can be changed via
|
||||||
This module provides several convenience methods for triggering composer
|
This module provides several convenience methods for triggering composer
|
||||||
commands:
|
commands:
|
||||||
|
|
||||||
| Binding | Function |
|
| Binding | Function |
|
||||||
|---------------------+---------------------------------|
|
|---------------------+-----------------------------------|
|
||||||
| ~<localleader> m c c~ | ~composer~ |
|
| [[kbd:][<localleader> m c c]] | ~composer~ |
|
||||||
| ~<localleader> m c i~ | ~composer-install~ |
|
| [[kbd:][<localleader> m c i]] | ~composer-install~ |
|
||||||
| ~<localleader> m c r~ | ~composer-require~ |
|
| [[kbd:][<localleader> m c r]] | ~composer-require~ |
|
||||||
| ~<localleader> m c u~ | ~composer-update~ |
|
| [[kbd:][<localleader> m c u]] | ~composer-update~ |
|
||||||
| ~<localleader> m c d~ | ~composer-dump-autoload~ |
|
| [[kbd:][<localleader> m c d]] | ~composer-dump-autoload~ |
|
||||||
| ~<localleader> m c s~ | ~composer-run-scripts~ |
|
| [[kbd:][<localleader> m c s]] | ~composer-run-scripts~ |
|
||||||
| ~<localleader> m c v~ | ~composer-run-vendor-bin-command~ |
|
| [[kbd:][<localleader> m c v]] | ~composer-run-vendor-bin-command~ |
|
||||||
| ~<localleader> m c o~ | ~composer-find-json-file~ |
|
| [[kbd:][<localleader> m c o]] | ~composer-find-json-file~ |
|
||||||
| ~<localleader> m c l~ | ~composer-view-lock-file~ |
|
| [[kbd:][<localleader> m c l]] | ~composer-view-lock-file~ |
|
||||||
|
|
||||||
These are all invokable via =M-x= too.
|
These are all invokable via [[kbd:][M-x]] too.
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
|
||||||
** Docker Compose
|
** Docker Compose
|
||||||
A lot of projects rely on running inside docker compose (ie Laravel), and as
|
A lot of projects rely on running inside docker compose (ie Laravel), and as
|
||||||
such a minor mode has been configured to attempt to run tests inside the =php-fpm=
|
such a minor mode has been configured to attempt to run tests inside the =php-fpm=
|
||||||
|
@ -210,11 +205,12 @@ If you wish to specify a different container, modify the
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
|
[[doom-report:][Report an issue?]]
|
||||||
|
|
||||||
** "I'm missing functionality on lsp-mode"
|
** "I'm missing functionality on lsp-mode"
|
||||||
Unfortunately, [[https://intelephense.com/][intelephense]] currently operates under a "freemium" model, and as
|
Unfortunately, [[https://intelephense.com/][intelephense]] currently operates under a "freemium" model, and as
|
||||||
such requires a license for extended features. Once purchased, this can be
|
such requires a license for extended features. Once purchased, this can be
|
||||||
(insecurely) added directly to your config:
|
(insecurely) added directly to your config:
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(setq lsp-intelephense-licence-key "<key>")
|
(setq lsp-intelephense-licence-key "<key>")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
@ -223,14 +219,12 @@ A more recommended approach would be to utilise Emacs' own ~auth-sources~ for
|
||||||
storing authentication info, which can also be encrypted.
|
storing authentication info, which can also be encrypted.
|
||||||
|
|
||||||
Create a file in your home directory (which can optionally be encrypted, verify
|
Create a file in your home directory (which can optionally be encrypted, verify
|
||||||
your ~auth-sources~ has the correct values) called ~~/.authinfo~
|
your ~auth-sources~ has the correct values) called ~~/.authinfo~:
|
||||||
|
|
||||||
#+begin_src
|
#+begin_src
|
||||||
machine * login intelephense password <key>
|
machine * login intelephense password <key>
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
And add the following to your config
|
And add the following to your config:
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(defun my-fetch-password (&rest params)
|
(defun my-fetch-password (&rest params)
|
||||||
(require 'auth-source)
|
(require 'auth-source)
|
||||||
|
@ -244,3 +238,11 @@ And add the following to your config
|
||||||
|
|
||||||
(setq lsp-intelephense-license-key (my-fetch-password :user intelephense))
|
(setq lsp-intelephense-license-key (my-fetch-password :user intelephense))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
53
modules/lang/plantuml/README.org
Normal file
53
modules/lang/plantuml/README.org
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang plantuml][Issues]] ↖ [[doom-module-source:lang/plantuml][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang plantuml
|
||||||
|
#+SUBTITLE: Diagrams to confuse people more
|
||||||
|
#+CREATED: July 08, 2017
|
||||||
|
#+SINCE: 2.0.4
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
This module adds plantuml support to Emacs; allowing you to generate diagrams
|
||||||
|
from plain text.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][plantuml-mode]]
|
||||||
|
- [[doom-package:][flycheck-plantuml]] if [[doom-module:][:checkers syntax]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires =plantuml= to build diagrams with.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report-issue:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
57
modules/lang/purescript/README.org
Normal file
57
modules/lang/purescript/README.org
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang purescript][Issues]] ↖ [[doom-module-source:lang/purescript][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang purescript
|
||||||
|
#+SUBTITLE: Javascript, but functional
|
||||||
|
#+CREATED: May 21, 2017
|
||||||
|
#+SINCE: 2.0.3 (#75)
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
This module adds [[https://www.purescript.org/][Purescript]] support to Doom Emacs.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support for ~purescript-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/nwolverson/purescript-language-server][purescript-language-server]]).
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][psci]]
|
||||||
|
- [[doom-package:][psc-ide]]
|
||||||
|
- [[doom-package:][purescript-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's prerequisites are not documented./ [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
|
@ -1,130 +1,154 @@
|
||||||
#+TITLE: lang/python
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang python][Issues]] ↖ [[doom-module-source:lang/python][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: Oct, 2019
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.9
|
#+TITLE: :lang python
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: Beautiful is better than ugly
|
||||||
|
#+CREATED: June 15, 2015
|
||||||
|
#+SINCE: 0.7
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds [[https://www.python.org/][Python]] support to Doom Emacs.
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#language-server-protocol-support][Language Server Protocol Support]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#keybindings][Keybindings]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
|
|
||||||
* Description
|
- Syntax checking ([[doom-package:][flycheck]])
|
||||||
Adds Python support to Doom Emacs.
|
- Snippets
|
||||||
|
- Run tests ([[doom-package:][nose]], [[doom-package:][pytest]])
|
||||||
|
- Auto-format (with ~black~, requires [[doom-module:][:editor format]])
|
||||||
|
- LSP integration (=mspyls=, =pyls=, or =pyright=)
|
||||||
|
|
||||||
+ Syntax checking (~flycheck~)
|
** Maintainers
|
||||||
+ Snippets
|
- [[doom-user:][@hlissner]]
|
||||||
+ Run tests (~nose~, ~pytest~)
|
|
||||||
+ Auto-format (~black~), requires ~:editor format~
|
|
||||||
+ LSP integration (mspyls, pyls, or pyright)
|
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ ~+lsp~ Language Server Protocol support
|
|
||||||
+ ~+pyright~ Use the pyright LSP server instead of mspyls or pyls (requires
|
|
||||||
~+lsp~).
|
|
||||||
+ ~+pyenv~ Python virtual environment support via [[https://github.com/pyenv/pyenv][pyenv]]
|
|
||||||
+ ~+conda~ Python virtual environment support via [[https://conda.io/en/latest/][Conda]]
|
|
||||||
+ ~+poetry~ Python packaging, dependency management, and virtual environment
|
|
||||||
support via [[https://python-poetry.org/][Poetry]]
|
|
||||||
+ ~+cython~ Cython files support via [[https://github.com/cython/cython/blob/master/Tools/cython-mode.el][cython-mode]]
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/pythonic-emacs/anaconda-mode][anaconda-mode]]*
|
- +conda ::
|
||||||
+ [[https://github.com/Wilfred/pyimport][pyimport]]*
|
Enable python virtual environment support via [[https://conda.io/en/latest/][Conda]].
|
||||||
+ [[https://github.com/paetzke/py-isort.el][py-isort]]*
|
- +cython ::
|
||||||
+ [[https://github.com/emacsattic/nose/][nose]]*
|
Enable support for Cython files support.
|
||||||
+ [[https://github.com/wbolster/emacs-python-pytest][python-pytest]]*
|
- +lsp ::
|
||||||
+ [[https://github.com/Wilfred/pip-requirements.el][pip-requirements]]*
|
Enable LSP support for ~python-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
+ [[https://github.com/pwalsh/pipenv.el][pipenv]]*
|
(supports mspyls, pyls, and pyright).
|
||||||
+ if ~+conda~
|
- +poetry ::
|
||||||
+ [[https://github.com/necaris/conda.el][conda]]*
|
Enable Python packaging, dependency management, and virtual environment
|
||||||
+ if ~+pyenv~
|
support via [[https://python-poetry.org/][Poetry]].
|
||||||
+ [[https://github.com/pythonic-emacs/pyenv-mode][pyenv]]*
|
- +pyenv ::
|
||||||
+ if ~+poetry~
|
Enable Python virtual environment support via [[https://github.com/pyenv/pyenv][pyenv]]
|
||||||
+ [[https://github.com/galaunay/poetry.el][poetry]]*
|
- +pyright ::
|
||||||
+ if ~+lsp~ and ~:tools lsp~
|
Use the pyright LSP server instead of mspyls or pyls (requires [[doom-module:][+lsp]]).
|
||||||
+ [[https://github.com/emacs-lsp/lsp-mode][lsp]]
|
|
||||||
+ if ~+pyright~
|
|
||||||
+ [[https://github.com/emacs-lsp/lsp-pyright][lsp-pyright]]
|
|
||||||
+ else
|
|
||||||
+ [[https://github.com/emacs-lsp/lsp-python-ms][lsp-python-ms]]
|
|
||||||
+ if ~+cython~
|
|
||||||
+ [[https://github.com/cython/cython/blob/master/Tools/cython-mode.el][cython-mode]]
|
|
||||||
+ if ~:checkers syntax~: [[https://github.com/lbolla/emacs-flycheck-cython/tree/master][flycheck-cython]]
|
|
||||||
|
|
||||||
* Prerequisites
|
** Packages
|
||||||
This module has no hard prerequisites, but a few soft ones:
|
- [[doom-package:][anaconda-mode]]
|
||||||
|
- [[doom-package:][conda]]
|
||||||
|
- [[doom-package:][nose]]
|
||||||
|
- [[doom-package:][pipenv]]
|
||||||
|
- [[doom-package:][pip-requirements]]
|
||||||
|
- [[doom-package:][poetry]] if [[doom-module:][+poetry]]
|
||||||
|
- [[doom-package:][pyenv]]
|
||||||
|
- [[doom-package:][pyimport]]
|
||||||
|
- [[doom-package:][py-isort]]
|
||||||
|
- [[doom-package:][python-pytest]]
|
||||||
|
- if [[doom-module:][+cython]]
|
||||||
|
- [[doom-package:][cython-mode]]
|
||||||
|
- [[doom-package:][flycheck-cython]] if [[doom-module:][:checkers syntax]]
|
||||||
|
- if [[doom-module:][+lsp]]
|
||||||
|
- if [[doom-module:][+pyright]]
|
||||||
|
- [[doom-package:][lsp-pyright]]
|
||||||
|
- else
|
||||||
|
- [[doom-package:][lsp-python-ms]]
|
||||||
|
|
||||||
+ For this module's supported test runners:
|
** Hacks
|
||||||
+ ~pip install pytest~
|
- [[doom-package:][anaconda-mode]] is configured to activate when [[doom-package:][lsp-mode]] (or [[doom-package:][eglot]]) don't -- or
|
||||||
+ ~pip install nose~
|
fail to.
|
||||||
+ The ~:editor format~ module uses [[https://github.com/psf/black][Black]] for python files :: ~pip install black~
|
|
||||||
+ ~pyimport~ requires Python's module ~pyflakes~ :: ~pip install pyflakes~
|
** TODO Changelog
|
||||||
+ ~py-isort~ requires [[https://github.com/timothycrosley/isort][isort]] to be installed :: ~pip install isort~
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
+ Python virtual environments install instructions at:
|
/This module does not have a changelog yet./
|
||||||
+ [[https://github.com/pyenv/pyenv][pyenv]]
|
|
||||||
+ [[https://conda.io/en/latest/][Conda]]
|
* Installation
|
||||||
+ [[https://python-poetry.org/][Poetry]]
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
+ [[https://pipenv.readthedocs.io/en/latest/][pipenv]]
|
|
||||||
+ ~cython~ requires [[https://cython.org/][Cython]]
|
This module has no hard requirements, but softly depends on:
|
||||||
|
- For this module's supported test runners:
|
||||||
|
- ~$ pip install pytest~
|
||||||
|
- ~$ pip install nose~
|
||||||
|
- The [[doom-module:][:editor format]] module uses Black for python files: ~$ pip install black~
|
||||||
|
- [[doom-package:][pyimport]] requires Python's module ~pyflakes~: ~$ pip install pyflakes~
|
||||||
|
- [[doom-package:][py-isort]] requires [[https://github.com/timothycrosley/isort][isort]] to be installed: ~pip install isort~
|
||||||
|
- Python virtual environments install instructions at:
|
||||||
|
- [[https://github.com/pyenv/pyenv][pyenv]]
|
||||||
|
- [[https://conda.io/en/latest/][Conda]]
|
||||||
|
- [[https://python-poetry.org/][Poetry]]
|
||||||
|
- [[https://pipenv.readthedocs.io/en/latest/][pipenv]]
|
||||||
|
- ~cython~ requires [[https://cython.org/][Cython]]
|
||||||
|
|
||||||
** Language Server Protocol Support
|
** Language Server Protocol Support
|
||||||
For LSP support the =:tools lsp= module must be enabled, along with this
|
For LSP support the [[doom-module:][:tools lsp]] module must be enabled, along with this module's
|
||||||
module's =+lsp= flag. By default, it supports =mspyls= and =pyls=, in that
|
[[doom-module:][+lsp]] flag. By default, it supports [[doom-package:][mspyls]] and [[doom-package:][pyls]], in that order. With the
|
||||||
order. With the =+pyright= flag, it will try Pyright first.
|
[[doom-module:][+pyright]] flag, it will try Pyright first.
|
||||||
|
|
||||||
Each of these servers must be installed on your system via your OS package
|
Each of these servers must be installed on your system via your OS package
|
||||||
manager or manually:
|
manager or manually:
|
||||||
|
- [[https://pypi.org/project/python-language-server/][*pyls*]] can be installed with ~$ pip install python-language-server[all]~.
|
||||||
|
- *mspyls* can be installed by typing ~M-x lsp-install-server RET mspyls~.
|
||||||
|
- *pyright* can be installed with ~$ pip install pyright~ or ~$ npm i -g
|
||||||
|
pyright~.
|
||||||
|
|
||||||
+ [[https://pypi.org/project/python-language-server/][*pyls*]] can be installed with ~pip install python-language-server[all]~.
|
* TODO Usage
|
||||||
+ *mspyls* can be installed by typing =M-x lsp-install-server RET mspyls=.
|
#+begin_quote
|
||||||
+ *pyright* can be installed with ~pip install pyright~ or ~npm i -g pyright~.
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Features
|
This module supports LSP. It requires installation of [[https://pypi.org/project/python-language-server/][Python Language Server]],
|
||||||
This module supports LSP. It requires installation of [[https://pypi.org/project/python-language-server/][Python Language
|
[[https://github.com/Microsoft/python-language-server][Microsoft Language Server]], or [[https://github.com/microsoft/pyright][pyright]], see [[Language Server Protocol Support][LSP Support]].
|
||||||
Server]], [[https://github.com/Microsoft/python-language-server][Microsoft Language Server]], or [[https://github.com/microsoft/pyright][pyright]], see [[Language Server Protocol Support][LSP Support]].
|
|
||||||
|
|
||||||
To enable support for auto-formatting with black enable ~:editor format~ in
|
To enable support for auto-formatting with black enable [[doom-module:][:editor format]].
|
||||||
~init.el~ file.
|
|
||||||
|
|
||||||
** Keybindings
|
** Keybindings
|
||||||
|
| Binding | Description |
|
||||||
|
|-------------------+----------------------------------|
|
||||||
|
| [[kbd:][<localleader> c c]] | ~Compile Cython buffer~ |
|
||||||
|
| [[kbd:][<localleader> i i]] | ~Insert mising imports~ |
|
||||||
|
| [[kbd:][<localleader> i r]] | ~Remove unused imports~ |
|
||||||
|
| [[kbd:][<localleader> i s]] | ~Sort imports~ |
|
||||||
|
| [[kbd:][<localleader> i o]] | ~Optimize imports~ |
|
||||||
|
| [[kbd:][<localleader> t r]] | ~nosetests-again~ |
|
||||||
|
| [[kbd:][<localleader> t a]] | ~nosetests-all~ |
|
||||||
|
| [[kbd:][<localleader> t s]] | ~nosetests-one~ |
|
||||||
|
| [[kbd:][<localleader> t v]] | ~nosetests-module~ |
|
||||||
|
| [[kbd:][<localleader> t A]] | ~nosetests-pdb-all~ |
|
||||||
|
| [[kbd:][<localleader> t O]] | ~nosetests-pdb-one~ |
|
||||||
|
| [[kbd:][<localleader> t V]] | ~nosetests-pdb-module~ |
|
||||||
|
| [[kbd:][<localleader> t f]] | ~python-pytest-file~ |
|
||||||
|
| [[kbd:][<localleader> t k]] | ~python-pytest-file-dwim~ |
|
||||||
|
| [[kbd:][<localleader> t t]] | ~python-pytest-function~ |
|
||||||
|
| [[kbd:][<localleader> t m]] | ~python-pytest-function-dwim~ |
|
||||||
|
| [[kbd:][<localleader> t r]] | ~python-pytest-repeat~ |
|
||||||
|
| [[kbd:][<localleader> t p]] | ~python-pytest-popup~ |
|
||||||
|
| [[kbd:][<localleader> g d]] | ~anaconda-mode-find-definitions~ |
|
||||||
|
| [[kbd:][<localleader> g h]] | ~anaconda-mode-show-doc~ |
|
||||||
|
| [[kbd:][<localleader> g a]] | ~anaconda-mode-find-assignments~ |
|
||||||
|
| [[kbd:][<localleader> g f]] | ~anaconda-mode-find-file~ |
|
||||||
|
| [[kbd:][<localleader> g u]] | ~anaconda-mode-find-references~ |
|
||||||
|
|
||||||
| Binding | Description |
|
* TODO Configuration
|
||||||
|---------------------+----------------------------------|
|
#+begin_quote
|
||||||
| ~<localleader> c c~ | ~Compile Cython buffer~ |
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
| ~<localleader> i i~ | ~Insert mising imports~ |
|
#+end_quote
|
||||||
| ~<localleader> i r~ | ~Remove unused imports~ |
|
|
||||||
| ~<localleader> i s~ | ~Sort imports~ |
|
|
||||||
| ~<localleader> i o~ | ~Optimize imports~ |
|
|
||||||
| ~<localleader> t r~ | ~nosetests-again~ |
|
|
||||||
| ~<localleader> t a~ | ~nosetests-all~ |
|
|
||||||
| ~<localleader> t s~ | ~nosetests-one~ |
|
|
||||||
| ~<localleader> t v~ | ~nosetests-module~ |
|
|
||||||
| ~<localleader> t A~ | ~nosetests-pdb-all~ |
|
|
||||||
| ~<localleader> t O~ | ~nosetests-pdb-one~ |
|
|
||||||
| ~<localleader> t V~ | ~nosetests-pdb-module~ |
|
|
||||||
| ~<localleader> t f~ | ~python-pytest-file~ |
|
|
||||||
| ~<localleader> t k~ | ~python-pytest-file-dwim~ |
|
|
||||||
| ~<localleader> t t~ | ~python-pytest-function~ |
|
|
||||||
| ~<localleader> t m~ | ~python-pytest-function-dwim~ |
|
|
||||||
| ~<localleader> t r~ | ~python-pytest-repeat~ |
|
|
||||||
| ~<localleader> t p~ | ~python-pytest-popup~ |
|
|
||||||
| ~<localleader> g d~ | ~anaconda-mode-find-definitions~ |
|
|
||||||
| ~<localleader> g h~ | ~anaconda-mode-show-doc~ |
|
|
||||||
| ~<localleader> g a~ | ~anaconda-mode-find-assignments~ |
|
|
||||||
| ~<localleader> g f~ | ~anaconda-mode-find-file~ |
|
|
||||||
| ~<localleader> g u~ | ~anaconda-mode-find-references~ |
|
|
||||||
|
|
||||||
* Configuration
|
|
||||||
This module has the following variables to set extra arguments to [[https://ipython.org/][ipython]] and
|
This module has the following variables to set extra arguments to [[https://ipython.org/][ipython]] and
|
||||||
[[https://jupyter.org/][jupyter]] shells:
|
[[https://jupyter.org/][jupyter]] shells:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
;; in $DOOMDIR/config.el
|
||||||
;; ~/.doom.d/config.el
|
|
||||||
(setq +python-ipython-repl-args '("-i" "--simple-prompt" "--no-color-info"))
|
(setq +python-ipython-repl-args '("-i" "--simple-prompt" "--no-color-info"))
|
||||||
(setq +python-jupyter-repl-args '("--simple-prompt"))
|
(setq +python-jupyter-repl-args '("--simple-prompt"))
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,31 +1,55 @@
|
||||||
#+TITLE: lang/qt
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang qt][Issues]] ↖ [[doom-module-source:lang/qt][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: May 22, 2021
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.9
|
#+TITLE: :lang qt
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: The cutest GUI framework ever
|
||||||
|
#+CREATED: June 02, 2018
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
# A summary of what this module does.
|
|
||||||
This module provides language functionality for [[https://qt.io][Qt]] specific files.
|
This module provides language functionality for [[https://qt.io][Qt]] specific files.
|
||||||
|
|
||||||
+ Syntax highlighting for [[https:://en.wikipedia.org/wiki/QML][qml]] files
|
- Syntax highlighting for [[https:://en.wikipedia.org/wiki/QML][qml]] files
|
||||||
+ Syntax highlighting for .pro and .pri files used by [[https://doc.qt.io/qt-5/qmake-project-files.html][qmake]]
|
- Syntax highlighting for =.pro= and =.pri= files used by [[https://doc.qt.io/qt-5/qmake-project-files.html][qmake]]
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
This module provides no flags.
|
/This module has no flags./
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/coldnew/qml-mode/tree/master][qml-mode]]
|
- [[doom-package:][qml-mode]]
|
||||||
+ [[https://github.com/EricCrosson/qt-pro-mode][qt-pro-mode]]
|
- [[doom-package:][qt-pro-mode]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
This module has no prerequisites.
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
/This module has no external requirements./
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,70 +1,90 @@
|
||||||
#+TITLE: lang/racket
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang racket][Issues]] ↖ [[doom-module-source:lang/racket][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: July 29, 2018
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.9
|
#+TITLE: :lang racket
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: The DSL for DSLs
|
||||||
|
#+CREATED: July 29, 2018
|
||||||
|
#+SINCE: 2.0.9 (#772)
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds support for the [[https://www.racket-lang.org/][Racket programming language]] to Doom Emacs.
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#racket-smart-open-bracket-mode][racket-smart-open-bracket-mode]]
|
|
||||||
- [[#unicode-input][Unicode Input]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module provides integration for [[https://github.com/greghendershott/racket-mode][racket-mode]].
|
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ =+lsp= Enables LSP support. Requires jeapostrophe/racket-langserver.
|
- +lsp ::
|
||||||
+ =+xp= Enables the explore mode, which "analyzes expanded code to explain and explore."
|
Enable support for ~racket-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/jeapostrophe/racket-langserver][racket-langserver]]).
|
||||||
|
- +xp ::
|
||||||
|
Enable the explore mode (~racket-xp-mode~), which "analyzes expanded code to
|
||||||
|
explain and explore."
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/greghendershott/racket-mode][racket-mode]]
|
- [[doom-package:][racket-mode]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
This module only requires ~racket~. Install it directly from the [[https://download.racket-lang.org/][racket website]],
|
/No hacks documented for this module./
|
||||||
or check your package manger.
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires ~racket~. Install it from the [[https://download.racket-lang.org/][racket website]] or through
|
||||||
|
your OS package manger.
|
||||||
|
|
||||||
** Arch Linux
|
** Arch Linux
|
||||||
|
#+begin_src sh
|
||||||
#+begin_src bash
|
|
||||||
pacman -S racket
|
pacman -S racket
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Or, for fewer dependencies:
|
Or, for fewer dependencies:
|
||||||
|
#+begin_src sh
|
||||||
#+begin_src bash
|
|
||||||
pacman -S racket-minimal
|
pacman -S racket-minimal
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* TODO Features
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
|
||||||
** racket-smart-open-bracket-mode
|
** racket-smart-open-bracket-mode
|
||||||
~racket-smart-open-bracket-mode~ gets turned off automatically if you use ~parinfer~,
|
~racket-smart-open-bracket-mode~ gets turned off automatically if you use
|
||||||
~lispy~. If you wish to enable it, add the following to your ~config.el~:
|
~parinfer~, ~lispy~. If you wish to enable it:
|
||||||
#+BEGIN_SRC elisp
|
#+begin_src emacs-lisp
|
||||||
|
;; in $DOOMDIR/config.el
|
||||||
(after! racket-mode
|
(after! racket-mode
|
||||||
(add-hook! racket-mode
|
(add-hook 'racket-mode-hook #'racket-smart-open-bracket-mode))
|
||||||
#'racket-smart-open-bracket-mode))
|
#+end_src
|
||||||
#+END_SRC
|
|
||||||
** Unicode Input
|
** Unicode Input
|
||||||
The optional ~racket-unicode~ input method lets you type unicode characters such as λ or π.
|
The optional ~racket-unicode~ input method lets you type unicode characters such
|
||||||
To enable unicode input for a single buffer, run ~racket-unicode-input-method-enable~.
|
as λ or π. To enable unicode input for a single buffer, run
|
||||||
To enable unicode input by default on all racket buffers, add the following hooks
|
~racket-unicode-input-method-enable~. To enable unicode input by default on all
|
||||||
to your ~config.el~:
|
racket buffers:
|
||||||
#+BEGIN_SRC elisp
|
#+begin_src emacs-lisp
|
||||||
|
;; in $DOOMDIR/config.el
|
||||||
(add-hook 'racket-mode-hook #'racket-unicode-input-method-enable)
|
(add-hook 'racket-mode-hook #'racket-unicode-input-method-enable)
|
||||||
(add-hook 'racket-repl-mode-hook #'racket-unicode-input-method-enable)
|
(add-hook 'racket-repl-mode-hook #'racket-unicode-input-method-enable)
|
||||||
#+END_SRC
|
#+end_src
|
||||||
Once enabled, unicode input can be toggled by pressing C-\ or running ~toggle-input-method~.
|
|
||||||
|
|
||||||
* TODO Troubleshooting
|
Once enabled, unicode input can be toggled by pressing C-\ or running
|
||||||
|
~toggle-input-method~.
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,11 +1,52 @@
|
||||||
#+TITLE: :lang raku
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang raku][Issues]] ↖ [[doom-module-source:lang/raku][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang raku
|
||||||
|
#+SUBTITLE: The artist formerly known as perl6
|
||||||
|
#+CREATED: June 05, 2020
|
||||||
|
#+SINCE: 21.12.0 (#3308)
|
||||||
|
|
||||||
This module adds a major mode and flycheck for Raku.
|
* Description :unfold:
|
||||||
|
This module adds support for the [[https://www.raku.org/][Raku programming language]] to Doom Emacs.
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
** Maintainers
|
||||||
- [[#install][Install]]
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
* Install
|
** Module flags
|
||||||
This module depends on raku itself.
|
/This module has no flags./
|
||||||
|
|
||||||
There are no other dependencies.
|
** Packages
|
||||||
|
- [[doom-package:][raku-mode]]
|
||||||
|
- [[doom-package:][flycheck-raku]] if [[doom-module:][:checkers syntax]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires [[https://www.raku.org/][Raku]] for linting and evaluating code.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,58 +1,68 @@
|
||||||
#+TITLE: lang/rest
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang rest][Issues]] ↖ [[doom-module-source:lang/rest][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: March 17, 2017
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v1.3
|
#+TITLE: :lang rest
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: Emacs as a REST client
|
||||||
|
#+CREATED: February 20, 2017
|
||||||
|
#+SINCE: 2.0.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module turns Emacs into a [[https://en.wikipedia.org/wiki/Representational_state_transfer][REST]] client.
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
- Code-completion (~company-restclient~)
|
||||||
This module adds [[https://en.wikipedia.org/wiki/Representational_state_transfer][REST]] support.
|
- Code evaluation
|
||||||
|
- Imenu support for ~restclient-mode~
|
||||||
+ Code-completion (~company-restclient~)
|
- org-mode: babel support (~ob-restclient~)
|
||||||
+ Code evaluation
|
|
||||||
+ Imenu support for ~restclient-mode~
|
|
||||||
+ org-mode: babel support (~ob-restclient~)
|
|
||||||
|
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
~restclient-mode~ is tremendously useful for automated or quick testing REST
|
💡 ~restclient-mode~ is tremendously useful for automated or quick testing REST
|
||||||
APIs. My workflow is to open an ~org-mode~ buffer, create a restclient source
|
APIs. My workflow is to open an ~org-mode~ buffer, create a restclient
|
||||||
block and hack away. ~restclient-mode~ and ~company-restclient~ power this
|
source block and hack away. ~restclient-mode~ and ~company-restclient~ power
|
||||||
arcane wizardry.
|
this arcane wizardry.
|
||||||
#+end_quote
|
#+end_quote
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
- [[doom-user:][@hlissner]]
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
This module provides no flags.
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/pashky/restclient.el][restclient]]
|
/This module has no flags./
|
||||||
+ =:completion company=
|
|
||||||
+ [[https://github.com/iquiw/company-restclient][company-restclient]]
|
** Packages
|
||||||
|
- [[doom-package:][company-restclient]] if [[doom-module:][:completion company]]
|
||||||
|
- [[doom-package:][restclient]]
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
+ restclient has been modified not to silently reject self-signed or invalid
|
- Adds imenu support to ~restclient-mode~.
|
||||||
|
- [[doom-package:][restclient]] has been modified not to silently reject self-signed or invalid
|
||||||
certificates.
|
certificates.
|
||||||
+ Adds imenu support to ~restclient-mode~.
|
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
This module has no prerequisites.
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
* Features
|
* Installation
|
||||||
# An in-depth list of features, how to use them, and their dependencies.
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
* Configuration
|
/This module has no external requirements./
|
||||||
# How to configure this module, including common problems and how to address them.
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
# Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
51
modules/lang/rst/README.org
Normal file
51
modules/lang/rst/README.org
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang rst][Issues]] ↖ [[doom-module-source:lang/rst][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang rst
|
||||||
|
#+SUBTITLE: ReST in peace
|
||||||
|
#+CREATED: October 15, 2021
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
This module adds [[https://docutils.sourceforge.io/rst.html][ReStructured Text]] support to Doom Emacs.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][sphinx-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires [[https://www.sphinx-doc.org/en/master/usage/installation.html][sphinx]] to build RST documents.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
|
@ -1,91 +1,120 @@
|
||||||
#+TITLE: lang/ruby
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang ruby][Issues]] ↖ [[doom-module-source:lang/ruby][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: January 16, 2007
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v1.3
|
#+TITLE: :lang ruby
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||||
|
#+CREATED: January 16, 2007
|
||||||
|
#+SINCE: 1.3
|
||||||
|
|
||||||
* Table of contents :TOC:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#packages][Packages]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#ubuntu][Ubuntu]]
|
|
||||||
- [[#macos][MacOS]]
|
|
||||||
- [[#windows][Windows]]
|
|
||||||
- [[#appendix][Appendix]]
|
|
||||||
- [[#commands][Commands]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module add Ruby and optional Ruby on Rails support to Emacs.
|
This module add Ruby and optional Ruby on Rails support to Emacs.
|
||||||
|
|
||||||
+ Code completion (robe)
|
- Code completion ([[doom-package:][robe]])
|
||||||
+ Syntax checking (flycheck)
|
- Syntax checking ([[doom-package:][flycheck]])
|
||||||
+ Jump-to-definitions (robe)
|
- Jump-to-definitions ([[doom-package:][robe]])
|
||||||
+ Bundler
|
- Bundler
|
||||||
+ Rubocop integration (flycheck)
|
- Rubocop integration ([[doom-package:][flycheck]])
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ =+lsp= Enables LangServer support for ruby. You must have =:tools lsp= enabled
|
- [[doom-user:][@hlissner]]
|
||||||
for this to work, as well as the langserver (solargraph) installed on your
|
|
||||||
system.
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ =+rvm= Enables RVM (Ruby Version Manager) integration.
|
|
||||||
+ =+rbenv= Enables rbenv integration.
|
** Module flags
|
||||||
+ =+chruby= Enables chruby integration.
|
- +chruby ::
|
||||||
+ =+rails= Enables rails navigational commands, plus server+console integration.
|
Enable chruby integration.
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support for ~ruby-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports solargraph).
|
||||||
|
- +rails ::
|
||||||
|
Enable rails navigational commands, plus server+console integration.
|
||||||
|
- +rbenv ::
|
||||||
|
Enable rbenv integration.
|
||||||
|
- +rvm ::
|
||||||
|
Enable RVM (Ruby Version Manager) integration.
|
||||||
|
|
||||||
** Packages
|
** Packages
|
||||||
+ [[https://github.com/endofunky/bundler.el][bundler]]
|
- [[doom-package:][bundler]]
|
||||||
+ [[https://github.com/plexus/chruby.el][chruby]] (=+chruby=)
|
- [[doom-package:][chruby]] if [[doom-module:][+chruby]]
|
||||||
+ [[https://github.com/company-mode/company-inf-ruby][company-inf-ruby]]
|
- [[doom-package:][company-inf-ruby]] if :completion company
|
||||||
+ [[https://github.com/eschulte/jump.el][inflections]]
|
- [[doom-package:][inf-ruby]]
|
||||||
+ [[https://github.com/nonsequitur/inf-ruby][inf-ruby]]
|
- [[doom-package:][minitest]]
|
||||||
+ [[https://github.com/arthurnn/minitest-emacs][minitest]]
|
- [[doom-package:][rake]]
|
||||||
+ [[https://github.com/asok/projectile-rails][projectile-rails]] (=+rails=)
|
- [[doom-package:][rbenv]] if [[doom-module:][+rbenv]]
|
||||||
+ [[https://github.com/asok/rake][rake]]
|
- [[doom-package:][robe]]
|
||||||
+ [[https://github.com/senny/rbenv.el][rbenv]] (=+rbenv=)
|
- [[doom-package:][rspec-mode]]
|
||||||
+ [[https://github.com/dgutov/robe][robe]]
|
- [[doom-package:][rubocop]]
|
||||||
+ [[https://github.com/pezra/rspec-mode][rspec-mode]]
|
- [[doom-package:][rvm]] if [[doom-module:][+rvm]]
|
||||||
+ [[https://github.com/rubocop-hq/rubocop-emacs][rubocop]]
|
- if [[doom-module:][+rails]]
|
||||||
+ [[https://github.com/senny/rvm.el][rvm]] (=+rvm=)
|
- [[doom-package:][inflections]]
|
||||||
|
- [[doom-package:][projectile-rails]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
Many of this modules plugins require ruby with some version manager (RVM or
|
/No hacks documented for this module./
|
||||||
Rbenv) and the rubocop gem.
|
|
||||||
|
|
||||||
** Ubuntu
|
** TODO Changelog
|
||||||
You can follow [[https://gorails.com/setup/ubuntu/18.04][this guide]]. After ruby installation, run ~gem install rubocop~.
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
** MacOS
|
/This module does not have a changelog yet./
|
||||||
You can follow [[https://gorails.com/setup/osx/10.15-catalina][this guide]]. After ruby installation, run ~gem install rubocop~.
|
|
||||||
** Windows
|
* Installation
|
||||||
You can follow [[https://gorails.com/setup/windows/10][this guide]]. After ruby installation, run ~gem install rubocop~.
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires Ruby and the Rubocop gem. It is recommended you install
|
||||||
|
both with some version manager (RVM or Rbenv).
|
||||||
|
|
||||||
|
These guides will help you install Ruby:
|
||||||
|
- [[https://gorails.com/setup/ubuntu/18.04][Ubuntu]]
|
||||||
|
- [[https://gorails.com/setup/osx/10.15-catalina][MacOS]]
|
||||||
|
- [[https://gorails.com/setup/windows/10][Windows]]
|
||||||
|
|
||||||
|
Then run ~$ gem install rubocop~ to install rubocop.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Appendix
|
|
||||||
** Commands
|
** Commands
|
||||||
*** robe
|
*** robe
|
||||||
| command | key / ex command | description |
|
| command | key / ex command | description |
|
||||||
|----------------------+------------------+--------------------------------------------------------------------|
|
|----------------------+--------------------+--------------------------------------------------------------------|
|
||||||
| ~robe-start~ | =SPC m \'= | Open ruby lang server for auto-completions and jump to definitions |
|
| ~robe-start~ | [[kbd:][<localleader> ']] | Open ruby lang server for auto-completions and jump to definitions |
|
||||||
| ~robe-rails-refresh~ | =SPC m R= | Refresh the lang server. |
|
| ~robe-rails-refresh~ | [[kbd:][<localleader> R]] | Refresh the lang server. |
|
||||||
|
|
||||||
*** projectile-rails
|
*** projectile-rails
|
||||||
The projectile-rails prefix is =SPC m r=. Here is some examples:
|
The projectile-rails prefix is [[kbd:][<localleader> r]]:
|
||||||
|
| command | key / ex command | description |
|
||||||
|
|-------------------------------+-------------------+---------------------------------------------------|
|
||||||
|
| ~projectile-rails-console~ | [[kbd:][<localleader> r r]] | Open Rails console |
|
||||||
|
| ~projectile-rails-server~ | [[kbd:][<localleader> r R]] | Open Rails server |
|
||||||
|
| ~projectile-rails-find-model~ | [[kbd:][<localleader> r m]] | Find any model of the project |
|
||||||
|
| ~projectile-rails-find-model~ | [[kbd:][<localleader> r M]] | Find the model related of currently open resource |
|
||||||
|
|
||||||
| command | key / ex command | description |
|
|
||||||
|-------------------------------+------------------+---------------------------------------------------|
|
|
||||||
| ~projectile-rails-console~ | =SPC m r r= | Open Rails console |
|
|
||||||
| ~projectile-rails-server~ | =SPC m r R= | Open Rails server |
|
|
||||||
| ~projectile-rails-find-model~ | =SPC m r m= | Find any model of the project |
|
|
||||||
| ~projectile-rails-find-model~ | =SPC m r M= | Find the model related of currently open resource |
|
|
||||||
*** bundler
|
*** bundler
|
||||||
The bundler prefix is =SPC m b=. Here is some examples:
|
The bundler prefix is [[kbd:][<localleader> b]]:
|
||||||
|
| command | key / ex command | description |
|
||||||
|
|------------------+-------------------+---------------------|
|
||||||
|
| ~bundle-install~ | [[kbd:][<localleader> b i]] | Runs bundle install |
|
||||||
|
| ~bundle-update~ | [[kbd:][<localleader> b u]] | Runs bundle update |
|
||||||
|
|
||||||
| command | key / ex command | description |
|
|
||||||
|------------------+------------------+---------------------|
|
|
||||||
| ~bundle-install~ | =SPC m b i= | Runs bundle install |
|
|
||||||
| ~bundle-update~ | =SPC m b u= | Runs bundle update |
|
|
||||||
*** rspec-mode
|
*** rspec-mode
|
||||||
The rspec-mode prefix is =SPC m t=. Here is some examples:
|
The rspec-mode prefix is [[kbd:][<localleader> t]]:
|
||||||
| | | |
|
|
||||||
| command | key / ex command | description |
|
| command | key / ex command | description |
|
||||||
|-----------------------+------------------+-----------------------------------|
|
|-----------------------+------------------+-----------------------------------|
|
||||||
| ~rspec-verify~ | =SPC m t v= | Runs rspec on current file |
|
| ~rspec-verify~ | =SPC m t v= | Runs rspec on current file |
|
||||||
| ~rspec-verify-method~ | =SPC m t s= | Runs rspec for the item on cursor |
|
| ~rspec-verify-method~ | =SPC m t s= | Runs rspec for the item on cursor |
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,139 +1,132 @@
|
||||||
#+TITLE: lang/rust
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang rust][Issues]] ↖ [[doom-module-source:lang/rust][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: June 5, 2019
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v3.0.0
|
#+TITLE: :lang rust
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
|
#+CREATED: September 30, 2015
|
||||||
|
#+SINCE: 0.7
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#install][Install]]
|
|
||||||
- [[#arch-linux][Arch Linux]]
|
|
||||||
- [[#general][General]]
|
|
||||||
- [[#other-requirements][Other Requirements]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#lsp-support-rls-or-rust-analyzer][LSP support (rls or rust-analyzer)]]
|
|
||||||
- [[#format-on-save][Format on save]]
|
|
||||||
- [[#keybinds][Keybinds]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#enable-rls-by-default][Enable RLS by default]]
|
|
||||||
- [[#enabling-eglot-support-for-rust][Enabling eglot support for Rust]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
- [[#errore0670-async-fn-is-not-permitted-in-the-2015-edition][error[E0670]: `async fn` is not permitted in the 2015 edition]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds support for the Rust language and integration for its tools,
|
This module adds support for the Rust language and integration for its tools,
|
||||||
e.g. ~cargo~.
|
e.g. ~cargo~.
|
||||||
|
|
||||||
+ Code completion (=racer= or an LSP server)
|
- Code completion ([[doom-package:][racer]] or an LSP server)
|
||||||
+ Syntax checking (=flycheck=)
|
- Syntax checking ([[doom-package:][flycheck]])
|
||||||
+ LSP support (for rust-analyzer and rls) (=rustic=)
|
- LSP support (for rust-analyzer and rls) ([[doom-package:][rustic]])
|
||||||
+ Snippets
|
- Snippets
|
||||||
|
|
||||||
** Module Flags
|
** Maintainers
|
||||||
+ ~+lsp~ to add support Language server protocol. Will use the first of
|
- @hlissner
|
||||||
=rust-analyzer= or =rls= (in that order).
|
|
||||||
|
|
||||||
** Plugins
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ [[https://github.com/brotzeit/rustic][rustic]]
|
|
||||||
+ [[https://github.com/racer-rust/emacs-racer][racer]]* (unless =+lsp=)
|
** Module flags
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support for ~rustic-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports rust-analyzer and rls).
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][rustic]]
|
||||||
|
- [[doom-package:][racer]] unless [[doom-module:][+lsp]]
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
+ rustic has been modified /not/ to automatically install lsp-mode or eglot if
|
- rustic has been modified /not/ to automatically install lsp-mode or eglot if
|
||||||
they're missing. Doom expects you to have enabled the =:tools lsp= module
|
they're missing. Doom expects you to have enabled the [[doom-module:][:tools lsp]] module
|
||||||
yourself.
|
yourself.
|
||||||
|
|
||||||
* Prerequisites
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
** Install
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
This module requires ~rust~, which can be acquired through =rustup=.
|
|
||||||
|
|
||||||
*** Arch Linux
|
|
||||||
|
|
||||||
#+begin_src sh
|
|
||||||
sudo pacman -S rustup
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
See also the Rust article [[https://wiki.archlinux.org/title/Rust#Rustup][on the Arch Wiki]].
|
|
||||||
|
|
||||||
Note that when the Rust /language/ has updates, you are to run =rustup= such that
|
|
||||||
it doesn't upgrade itself:
|
|
||||||
|
|
||||||
#+begin_src sh
|
|
||||||
rustup update --no-self-update
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
*** General
|
|
||||||
|
|
||||||
|
This module requires ~rust~, which can be acquired through =rustup=:
|
||||||
#+begin_src sh
|
#+begin_src sh
|
||||||
curl https://sh.rustup.rs -sSf | sh
|
curl https://sh.rustup.rs -sSf | sh
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
Note that when the Rust /language/ has updates, you are to run =rustup= such
|
||||||
|
that it doesn't upgrade itself:
|
||||||
|
#+begin_src sh
|
||||||
|
rustup update --no-self-update
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Other Requirements
|
** Other Requirements
|
||||||
|
- If [[doom-module:][:editor format]] is enabled, you'll need =rustfmt=: ~$ rustup component add
|
||||||
Additional requirements depend on the module's configuration:
|
|
||||||
|
|
||||||
+ If =:editor format= is enabled, you'll need =rustfmt=: ~rustup component add
|
|
||||||
rustfmt-preview~.
|
rustfmt-preview~.
|
||||||
+ Users without =+lsp= enabled will need =racer=: ~cargo +nightly install racer~
|
- Users without [[doom-module:][+lsp]] enabled will need [[doom-package:][racer]]: ~$ cargo +nightly install racer~
|
||||||
(with requires rust nightly edition).
|
(with requires rust nightly edition).
|
||||||
+ Users with =+lsp= enabled will need:
|
- Users with [[doom-module:][+lsp]] enabled will need:
|
||||||
+ =rust-analyzer= or =rls=
|
- =rust-analyzer= or =rls=
|
||||||
+ Using the following commands requires:
|
- Using the following commands requires:
|
||||||
+ ~cargo-process-check~: ~cargo install cargo-check~
|
- ~cargo-process-check~: ~$ cargo install cargo-check~
|
||||||
+ ~cargo-process-clippy~: ~rustup component add clippy-preview~
|
- ~cargo-process-clippy~: ~$ rustup component add clippy-preview~
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Features
|
|
||||||
** LSP support (rls or rust-analyzer)
|
** LSP support (rls or rust-analyzer)
|
||||||
This module supports LSP integration. For it to work you'll need:
|
This module supports LSP integration. For it to work you'll need:
|
||||||
|
|
||||||
1. Either [[https://github.com/rust-analyzer/rust-analyzer][rust-analyzer]] or [[https://github.com/rust-lang/rls][the Rust Language Server]] installed (e.g. through your
|
1. Either [[https://github.com/rust-analyzer/rust-analyzer][rust-analyzer]] or [[https://github.com/rust-lang/rls][the Rust Language Server]] installed (e.g. through your
|
||||||
OS package manager).
|
OS package manager).
|
||||||
2. The =:tools lsp= module enabled.
|
2. The [[doom-module:][:tools lsp]] module enabled.
|
||||||
3. The ~+lsp~ flag on this module enabled.
|
3. The [[doom-module:][+lsp]] flag on this module enabled.
|
||||||
|
|
||||||
** Format on save
|
** Format on save
|
||||||
Enable the [[file:../../../modules/editor/format/README.org][:editor format]] module's =+onsave= flag to get formatting on save with
|
Enable [[doom-module:][:editor format +onsave]] to get formatting on save with =rustfmt=. No
|
||||||
rustfmt. No additional configuration is necessary.
|
additional configuration is necessary.
|
||||||
|
|
||||||
** Keybinds
|
** Keybinds
|
||||||
| Binding | Description |
|
| Binding | Description |
|
||||||
|---------------------+-----------------------------|
|
|---------------------+-----------------------------|
|
||||||
| ~<localleader> b a~ | ~cargo audit~ |
|
| =<localleader> b a= | ~cargo audit~ |
|
||||||
| ~<localleader> b b~ | ~cargo build~ |
|
| =<localleader> b b= | ~cargo build~ |
|
||||||
| ~<localleader> b B~ | ~cargo bench~ |
|
| =<localleader> b B= | ~cargo bench~ |
|
||||||
| ~<localleader> b c~ | ~cargo check~ |
|
| =<localleader> b c= | ~cargo check~ |
|
||||||
| ~<localleader> b C~ | ~cargo clippy~ |
|
| =<localleader> b C= | ~cargo clippy~ |
|
||||||
| ~<localleader> b d~ | ~cargo doc~ |
|
| =<localleader> b d= | ~cargo doc~ |
|
||||||
| ~<localleader> b n~ | ~cargo update~ |
|
| =<localleader> b n= | ~cargo update~ |
|
||||||
| ~<localleader> b o~ | ~cargo outdated~ |
|
| =<localleader> b o= | ~cargo outdated~ |
|
||||||
| ~<localleader> b r~ | ~cargo run~ |
|
| =<localleader> b r= | ~cargo run~ |
|
||||||
| ~<localleader> t a~ | ~cargo test~ |
|
| =<localleader> t a= | ~cargo test~ |
|
||||||
| ~<localleader> t t~ | ~run current test~ |
|
| =<localleader> t t= | ~run current test~ |
|
||||||
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
** Enable RLS by default
|
** Enable RLS by default
|
||||||
If both =rls= and =rust-analyzer= are present on your system, =rust-analyzer= is
|
If both =rls= and =rust-analyzer= are present on your system, =rust-analyzer= is
|
||||||
selected by default. Modify ~rustic-lsp-server~ to change the default:
|
used by default. Modify ~rustic-lsp-server~ to change the default:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
|
||||||
;; in $DOOMDIR/config.el
|
;; in $DOOMDIR/config.el
|
||||||
(after! rustic
|
(after! rustic
|
||||||
(setq rustic-lsp-server 'rls))
|
(setq rustic-lsp-server 'rls))
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Enabling eglot support for Rust
|
** Enabling eglot support for Rust
|
||||||
Doom's =:tools lsp= module has an =+eglot= flag. Enable it and this module will
|
Doom's [[doom-module:][:tools lsp]] module has an [[doom-module:][+eglot]] flag. Enable it and this module will use
|
||||||
use eglot instead.
|
eglot instead.
|
||||||
|
|
||||||
* Troubleshooting
|
* Troubleshooting
|
||||||
|
[[doom-report:][Report an issue?]]
|
||||||
|
|
||||||
** error[E0670]: `async fn` is not permitted in the 2015 edition
|
** error[E0670]: `async fn` is not permitted in the 2015 edition
|
||||||
You may be seeing this error, despite having ~edition = "2018"~ in your
|
You may be seeing this error, despite having ~edition = "2018"~ in your
|
||||||
=Cargo.toml=. This error actually originates from ~rustfmt~, which the LSP
|
=Cargo.toml=. This error actually originates from ~rustfmt~, which the LSP
|
||||||
server tries to invoke on save (if you have ~rustic-format-on-save~ or =:editor
|
server tries to invoke on save (if you have ~rustic-format-on-save~ or
|
||||||
format= enabled).
|
[[doom-module:][:editor format]] enabled).
|
||||||
|
|
||||||
To fix this your project needs a =rustfmt.toml= with ~edition = "2018"~ in it.
|
To fix this your project needs a =rustfmt.toml= with ~edition = "2018"~ in it.
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,57 +1,82 @@
|
||||||
#+TITLE: lang/scala
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang scala][Issues]] ↖ [[doom-module-source:lang/scala][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: October 14, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v1.3
|
#+TITLE: :lang scala
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: Java, but good
|
||||||
|
#+CREATED: May 12, 2016
|
||||||
|
#+SINCE: 1.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#lsp-integration][=+lsp= Integration]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#coursier][Coursier]]
|
|
||||||
- [[#metals][Metals]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#notes][Notes]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds [[https://www.scala-lang.org][scala]] and [[https://www.scala-sbt.org/][sbt]] support to Doom Emacs.
|
This module adds [[https://www.scala-lang.org][scala]] and [[https://www.scala-sbt.org/][sbt]] support to Doom Emacs.
|
||||||
|
|
||||||
** Module Flags
|
Through the power of [[https://scalameta.org/metals/docs/editors/overview.html][Metals]] (LSP) this module offers:
|
||||||
+ =+lsp= Enables integration for the metals LSP server.
|
- Goto Definition
|
||||||
|
- Completions
|
||||||
|
- Hover
|
||||||
|
- Paremeter Hints
|
||||||
|
- Find References
|
||||||
|
- Run/Debug
|
||||||
|
- Find Implementations
|
||||||
|
- Rename Symbol
|
||||||
|
- Code Actions
|
||||||
|
- Document Symbols
|
||||||
|
- Formatting
|
||||||
|
- Folding
|
||||||
|
- Organize Imports
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
* =+lsp= Integration
|
** Module flags
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support for ~scala-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports metals).
|
||||||
|
|
||||||
** Prerequisites
|
** Packages
|
||||||
|
- [[doom-package:][sbt-mode]]
|
||||||
|
- [[doom-package:][scala-mode]]
|
||||||
|
- [[doom-package:][lsp-metals]] if [[doom-module:][+lsp]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
** =+lsp= Integration
|
||||||
|
To set up LSP support for Scala you'll need the Metals LSP server. To install it
|
||||||
|
you need Coursier installed first:
|
||||||
|
|
||||||
*** Coursier
|
*** Coursier
|
||||||
Note: Coursier is only required to install Metals. If system is running arch
|
Coursier is only required to install Metals. If you're on Arch linux this step
|
||||||
linux this step can be safely skipped.
|
can be skipped.
|
||||||
|
|
||||||
**** Ubuntu / Debian / Fedora
|
**** Ubuntu / Debian / Fedora
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
curl -fLo cs https://git.io/coursier-cli-linux &&
|
curl -fLo cs https://git.io/coursier-cli-linux &&
|
||||||
chmod +x cs &&
|
chmod +x cs &&
|
||||||
./cs
|
./cs
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
**** MacOS
|
**** MacOS
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
curl -fLo cs https://git.io/coursier-cli-macos &&
|
curl -fLo cs https://git.io/coursier-cli-macos &&
|
||||||
chmod +x cs &&
|
chmod +x cs &&
|
||||||
(xattr -d com.apple.quarantine cs || true) &&
|
(xattr -d com.apple.quarantine cs || true) &&
|
||||||
./cs
|
./cs
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
**** Arch
|
**** Arch Linux
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
yay -S coursier
|
yay -S coursier
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
*** Metals
|
*** Metals
|
||||||
|
|
||||||
**** Ubuntu / Debian / Fedora / MacOS
|
**** Ubuntu / Debian / Fedora / MacOS
|
||||||
Note: Update following command to latest version of metals [[https://scalameta.org/metals/docs/editors/emacs.html][found here]].
|
Update following command to latest version of metals [[https://scalameta.org/metals/docs/editors/emacs.html][found here]].
|
||||||
|
|
||||||
#+begin_src sh
|
#+begin_src sh
|
||||||
coursier bootstrap \
|
coursier bootstrap \
|
||||||
|
@ -64,31 +89,34 @@ coursier bootstrap \
|
||||||
-o /usr/local/bin/metals-emacs -f
|
-o /usr/local/bin/metals-emacs -f
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
**** Arch
|
**** Arch Linux
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
yay -S metals
|
yay -S metals
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Features
|
* TODO Usage
|
||||||
According to [[https://scalameta.org/metals/docs/editors/overview.html]] it adds
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
+ Goto Definition
|
* TODO Configuration
|
||||||
+ Completions
|
#+begin_quote
|
||||||
+ Hover
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
+ Paremeter Hints
|
#+end_quote
|
||||||
+ Find References
|
|
||||||
+ Run/Debug
|
|
||||||
+ Find Implementations
|
|
||||||
+ Rename Symbol
|
|
||||||
+ Code Actions
|
|
||||||
+ Document Symbols
|
|
||||||
+ Formatting
|
|
||||||
+ Folding
|
|
||||||
+ Organize Imports
|
|
||||||
|
|
||||||
** Notes
|
* Troubleshooting
|
||||||
|
[[doom-report:][Report an issue?]]
|
||||||
|
|
||||||
+ Projects are required to have scala version =2.11.12=, =2.12.8=, =2.13.0= or greater.
|
- Projects are required to have scala version =2.11.12=, =2.12.8=, =2.13.0= or
|
||||||
+ Latest version of sbt is recommended.
|
greater.
|
||||||
+ Running =M-x lsp-metals-doctor-run= helps diagnose problems.
|
- Latest version of sbt is recommended.
|
||||||
+ Full reference here: https://scalameta.org/metals/docs/editors/emacs.html
|
- Running ~M-x lsp-metals-doctor-run~ helps diagnose problems.
|
||||||
|
- Full reference here: https://scalameta.org/metals/docs/editors/emacs.html
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,60 +1,83 @@
|
||||||
#+TITLE: lang/scheme
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang scheme][Issues]] ↖ [[doom-module-source:lang/scheme][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: July 23, 2019
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.9
|
#+TITLE: :lang scheme
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: A fully conniving family of lisps
|
||||||
|
#+CREATED: July 23, 2019
|
||||||
|
#+SINCE: 21.12.0 (#1588)
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module provides support for the Scheme family of Lisp languages, powered by
|
||||||
- [[#module-flags][Module Flags]]
|
[[https://www.nongnu.org/geiser/geiser_1.html#introduction][geiser]].
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#commands][Commands]]
|
|
||||||
- [[#geiser][Geiser]]
|
|
||||||
|
|
||||||
* Description
|
** Maintainers
|
||||||
This module provides an environment for hacking and having fun in scheme. It is
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
powered by [[https://www.nongnu.org/geiser/geiser_1.html#introduction][geiser]].
|
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ =+chez=
|
- +chez ::
|
||||||
+ =+chibi=
|
- +chibi ::
|
||||||
+ =+chicken=
|
- +chicken ::
|
||||||
+ =+gambit=
|
- +gambit ::
|
||||||
+ =+gauche=
|
- +gauche ::
|
||||||
+ =+guile=
|
- +guile ::
|
||||||
+ =+kawa=
|
- +kawa ::
|
||||||
+ =+mit=
|
- +mit ::
|
||||||
+ =+racket=
|
- +racket ::
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://gitlab.com/jaor/geiser][geiser]]
|
- [[doom-package:][flycheck-guile]] if [[doom-module:][+guile]] and [[doom-module:][:checkers syntax]]
|
||||||
+ [[https://github.com/nbfalcon/macrostep-geiser][macrostep-geiser]]
|
- [[doom-package:][geiser]]
|
||||||
+ [[https://gitlab.com/emacs-geiser/chez][geiser-chez]] (if =+chez=)
|
- [[doom-package:][geiser-chez]] if [[doom-module:][+chez]]
|
||||||
+ [[https://gitlab.com/emacs-geiser/chibi][geiser-chibi]] (if =+chibi=)
|
- [[doom-package:][geiser-chibi]] if [[doom-module:][+chibi]]
|
||||||
+ [[https://gitlab.com/emacs-geiser/chicken][geiser-chicken]] (if =+chicken=)
|
- [[doom-package:][geiser-chicken]] if [[doom-module:][+chicken]]
|
||||||
+ [[https://gitlab.com/emacs-geiser/gambit][geiser-gambit]] (if =+gambit=)
|
- [[doom-package:][geiser-gambit]] if [[doom-module:][+gambit]]
|
||||||
+ [[https://gitlab.com/emacs-geiser/gauche][geiser-gauche]] (if =+gauche=)
|
- [[doom-package:][geiser-gauche]] if [[doom-module:][+gauche]]
|
||||||
+ [[https://gitlab.com/emacs-geiser/guile][geiser-guile]] (if =+guile=)
|
- [[doom-package:][geiser-guile]] if [[doom-module:][+guile]]
|
||||||
+ [[https://github.com/flatwhatson/flycheck-guile][flycheck-guile]] (if =+guile= and =:checkers syntax=)
|
- [[doom-package:][geiser-kawa]] if [[doom-module:][+kawa]]
|
||||||
+ [[https://gitlab.com/emacs-geiser/kawa][geiser-kawa]] (if =+kawa=)
|
- [[doom-package:][geiser-mit]] if [[doom-module:][+mit]]
|
||||||
+ [[https://gitlab.com/emacs-geiser/mit][geiser-mit]] (if =+mit=)
|
- [[doom-package:][geiser-racket]] if [[doom-module:][+racket]]
|
||||||
+ [[https://gitlab.com/emacs-geiser/racket][geiser-racket]] (if =+racket=)
|
- [[doom-package:][macrostep-geiser]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
This module requires you to have at least one of the supported schemes, namely:
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
Depending on which flags you have enabled on this module, you'll need the
|
||||||
|
associated Schemes, namely:
|
||||||
- [[https://www.gnu.org/software/guile][Guile]] 2.2.0 or better
|
- [[https://www.gnu.org/software/guile][Guile]] 2.2.0 or better
|
||||||
- [[https://call-cc.org][Chicken]] 4.8.0 or better
|
- [[https://call-cc.org][Chicken]] 4.8.0 or better
|
||||||
- [[https://www.gnu.org/software/mit-scheme][MIT/GNU Scheme]] 9.1.1 or better
|
- [[https://www.gnu.org/software/mit-scheme][MIT/GNU Scheme]] 9.1.1 or better
|
||||||
- [[https://synthcode.com/scheme/chibi][Chibi Scheme]] 0.7.3 or better
|
- [[https://synthcode.com/scheme/chibi][Chibi Scheme]] 0.7.3 or better
|
||||||
- [[https://www.scheme.com][Chez Scheme]] 9.4 or better
|
- [[https://www.scheme.com][Chez Scheme]] 9.4 or better
|
||||||
|
|
||||||
Their executables must be present in your path for geiser to work properly.
|
Their executables must be present in your =$PATH= for [[doom-package:][geiser]] to work properly.
|
||||||
|
|
||||||
* Features
|
* TODO Usage
|
||||||
** Commands
|
#+begin_quote
|
||||||
*** Geiser
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
| command | key / ex command | description |
|
#+end_quote
|
||||||
|---------------------+------------------+----------------------|
|
|
||||||
| ~+scheme/open-repl~ | =:repl= | Open the Scheme Repl |
|
| command | key / ex command | description |
|
||||||
| | | |
|
|---------------------+-----------------------+----------------------|
|
||||||
|
| ~+scheme/open-repl~ | [[kbd:][<leader> o r]], =:repl= | Open the Scheme Repl |
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,47 +1,71 @@
|
||||||
#+TITLE: lang/sh
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang sh][Issues]] ↖ [[doom-module-source:lang/sh][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: December 19, 2015
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v0.7
|
#+TITLE: :lang sh
|
||||||
#+STARTUP: inlineimages
|
#+SUBTITLE: She sells {ba,z,fi}sh shells on the C xor
|
||||||
|
#+CREATED: September 28, 2015
|
||||||
|
#+SINCE: 0.7
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module adds support for shell scripting languages (including Powershell and
|
||||||
- [[#module-flags][Module Flags]]
|
Fish script) to Doom Emacs.
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#hacks][Hacks]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
- Code completion ([[doom-package:][company-shell]])
|
||||||
This module adds support for shell scripting languages.
|
- Syntax Checking ([[doom-package:][flycheck]])
|
||||||
|
|
||||||
+ Code completion (company-shell)
|
** Maintainers
|
||||||
+ Syntax Checking (flycheck)
|
- [[doom-user:][@hlissner]]
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ =+lsp= Enables LSP support for sh-mode. This requires the =:tools lsp= module
|
|
||||||
to be enabled and [[https://github.com/mads-hartmann/bash-language-server][bash-language-server]] to be installed on your system.
|
** Module flags
|
||||||
+ =+fish= Add syntax highlighting for fish script files.
|
- +fish ::
|
||||||
+ =+powershell= Add syntax highlighting for Powershell script files .ps1 and .psm1
|
Add syntax highlighting for fish script files.
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support for ~sh-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports bash-language-server).
|
||||||
|
- +powershell ::
|
||||||
|
Add syntax highlighting for Powershell script files (=.ps1= and =.psm1=).
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/Alexander-Miller/company-shell][company-shell]]* (=:completion company=)
|
- [[doom-package:][company-shell]] if [[doom-module:][:completion company]]
|
||||||
+ [[https://github.com/wwwjfy/emacs-fish][fish-mode]]* (=+fish=)
|
- [[doom-package:][fish-mode]] if [[doom-module:][+fish]]
|
||||||
+ [[https://github.com/jschaf/powershell.el][powershell-mode]]* (=+powershell=)
|
- [[doom-package:][powershell-mode]] if [[doom-module:][+powershell]]
|
||||||
|
|
||||||
** Hacks
|
** Hacks
|
||||||
+ Interpolated variables are fontified.
|
- Interpolated variables are fontified.
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
This module has several optional dependencies:
|
This module has several optional dependencies:
|
||||||
|
|
||||||
+ [[https://github.com/koalaman/shellcheck][shellcheck]]: Enables advanced shell script linting.
|
- [[https://github.com/koalaman/shellcheck][shellcheck]]: Enables advanced shell script linting.
|
||||||
+ [[https://github.com/mads-hartmann/bash-language-server][bash-language-server]]: Enables LSP support (with =+lsp= flag).
|
- [[https://github.com/mads-hartmann/bash-language-server][bash-language-server]]: Enables LSP support (with [[doom-module:][+lsp]] flag).
|
||||||
+ With the =:tools debugger= module
|
- With the [[doom-module:][:tools debugger]] module
|
||||||
+ [[http://bashdb.sourceforge.net/][bashdb]]: Enables debugging for bash scripts
|
- [[http://bashdb.sourceforge.net/][bashdb]]: Enables debugging for bash scripts
|
||||||
+ [[https://github.com/rocky/zshdb][zshdb]]: Enables debugging for zsh scripts
|
- [[https://github.com/rocky/zshdb][zshdb]]: Enables debugging for zsh scripts
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Features
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
* TODO Troubleshooting
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,39 +1,52 @@
|
||||||
#+TITLE: lang/sml
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang sml][Issues]] ↖ [[doom-module-source:lang/sml][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: March 29, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v3.0
|
#+TITLE: :lang sml
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: ...
|
||||||
|
#+CREATED: Mar 30, 2020
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
THis module adds [[https://smlfamily.github.io/][SML (Standard ML) programming language]] support to Doom Emacs.
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module has no description yet.
|
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
This module provides no flags.
|
/This module has no flags./
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ sml-mode
|
- [[doom-package:][company-mlton]] if [[doom-module:][:completion company]]
|
||||||
+ company-mlton (=:completion company=)
|
- [[doom-package:][sml-mode]]
|
||||||
|
|
||||||
* TODO Prerequisites
|
** Hacks
|
||||||
# Document how to install sml program and MLton
|
/No hacks documented for this module./
|
||||||
|
|
||||||
* TODO Features
|
** TODO Changelog
|
||||||
# An in-depth list of features, how to use them, and their dependencies.
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
This module requires =sml= and =MLton=.
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
# How to configure this module, including common problems and how to address them.
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Troubleshooting
|
* Troubleshooting
|
||||||
# Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,47 +1,79 @@
|
||||||
#+TITLE: :lang solidity
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang solidity][Issues]] ↖ [[doom-module-source:lang/solidity][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang solidity
|
||||||
|
#+SUBTITLE: Do you need a blockchain? No.
|
||||||
|
#+CREATED: May 19, 2018
|
||||||
|
#+SINCE: 21.12.0 (#599)
|
||||||
|
|
||||||
This module adds [[https://github.com/ethereum/solidity][Solidity]] support through [[https://github.com/ethereum/emacs-solidity][solidity-mode]]
|
* Description :unfold:
|
||||||
|
This module adds [[https://github.com/ethereum/solidity][Solidity]] support to Doom Emacs.
|
||||||
|
|
||||||
+ Syntax-checking (~flycheck~)
|
- Syntax-checking ([[doom-package:][flycheck]])
|
||||||
+ Code completion ([[https://github.com/ssmolkin1/company-solidity][company-solidity]])
|
- Code completion ([[doom-package:][company-solidity]])
|
||||||
+ Gas estimation (~C-c C-g~)
|
- Gas estimation (~C-c C-g~)
|
||||||
|
|
||||||
* Table of Contents :TOC:
|
** Maintainers
|
||||||
- [[#module-flags][Module Flags]]
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#solc][Solc]]
|
|
||||||
- [[#solium][Solium]]
|
|
||||||
- [[#todo][TODO]]
|
|
||||||
|
|
||||||
* Module Flags
|
** Module flags
|
||||||
This module provides no flags.
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][company-solidity]] if [[doom-module:][:completion company]]
|
||||||
|
- [[doom-package:][solidity-flycheck]] if [[doom-module:][:checkers syntax]]
|
||||||
|
- [[doom-package:][solidity-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
This module requires one or both linters for syntax checking:
|
This module requires one or both linters for syntax checking:
|
||||||
|
- [[https://github.com/ethereum/solc-js][Solc]]
|
||||||
+ [[https://github.com/ethereum/solc-js][Solc]]
|
- [[http://solium.readthedocs.io/en/latest/user-guide.html#installation][Solium]]
|
||||||
+ [[http://solium.readthedocs.io/en/latest/user-guide.html#installation][Solium]]
|
|
||||||
|
|
||||||
If both are enabled *Solc* is run first, then *Solium* if *Solc* catches no
|
If both are enabled *Solc* is run first, then *Solium* if *Solc* catches no
|
||||||
errors.
|
errors.
|
||||||
|
|
||||||
** Solc
|
** Solc
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
npm install -g solc
|
npm install -g solc
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
** Solium
|
** Solium
|
||||||
#+BEGIN_SRC sh
|
#+begin_src sh
|
||||||
npm install -g solium
|
npm install -g solium
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
By default *solium* looks for ~.soliumrc.json~ in the project directory, but you
|
By default *solium* looks for =.soliumrc.json= in the project directory, but you
|
||||||
can set it to your own ~.soliumrc.json~ with this in your private doom
|
can set it to your own =.soliumrc.json= with:
|
||||||
~config.el~
|
#+begin_src emacs-lisp
|
||||||
|
;; in $DOOMDIR/config.el
|
||||||
#+BEGIN_SRC emacs-lisp
|
|
||||||
(setq flycheck-solidity-solium-soliumrcfile "~/.soliumrc.json")
|
(setq flycheck-solidity-solium-soliumrcfile "~/.soliumrc.json")
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
* TODO
|
* TODO Usage
|
||||||
+ Snippets
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
60
modules/lang/swift/README.org
Normal file
60
modules/lang/swift/README.org
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang swift][Issues]] ↖ [[doom-module-source:lang/swift][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang swift
|
||||||
|
#+SUBTITLE: We asked for emoji variables?
|
||||||
|
#+CREATED: June 15, 2015
|
||||||
|
#+SINCE: 0.7
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
This module adds support for the [[https://developer.apple.com/swift/][Swift programming language]] to Doom Emacs.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support for ~swift-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports sourcekit).
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][swift-mode]]
|
||||||
|
- if [[doom-module:][+lsp]]
|
||||||
|
- [[doom-package:][lsp-sourcekit]]
|
||||||
|
- else
|
||||||
|
- [[doom-package:][company-sourcekit]] if [[doom-module:][:completion company]]
|
||||||
|
- [[doom-package:][flycheck-sourcekit]] if [[doom-module:][:checkers syntax]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's prerequisites are not documented./ [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
54
modules/lang/terra/README.org
Normal file
54
modules/lang/terra/README.org
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang terra][Issues]] ↖ [[doom-module-source:lang/terra][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang terra
|
||||||
|
#+SUBTITLE: Earth and Moon in alignment for performance.
|
||||||
|
#+CREATED: March 25, 2019
|
||||||
|
#+SINCE: 21.12.0 (#1283)
|
||||||
|
|
||||||
|
* TODO Description :unfold:
|
||||||
|
/(No description yet)/
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
/This module has no flags./
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][company-lua]] if [[doom-module:][:completion company]]
|
||||||
|
- [[doom-package:][terra-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /No installation steps have been documented./ [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
73
modules/lang/web/README.org
Normal file
73
modules/lang/web/README.org
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang web][Issues]] ↖ [[doom-module-source:lang/web][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
#+TITLE: :lang web
|
||||||
|
#+SUBTITLE: The tubes
|
||||||
|
#+CREATED: June 15, 2015
|
||||||
|
#+SINCE: 0.7
|
||||||
|
|
||||||
|
* Description :unfold:
|
||||||
|
This module adds support for various web languages, including HTML5, CSS,
|
||||||
|
SASS/SCSS, Pug/Jade/Slim, and HAML, as well as various web frameworks, like
|
||||||
|
ReactJS, Wordpress, Jekyll, Phaser, AngularJS, Djano, and more.
|
||||||
|
|
||||||
|
** Maintainers
|
||||||
|
- @hlissner
|
||||||
|
|
||||||
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
|
** Module flags
|
||||||
|
- +lsp ::
|
||||||
|
Enable LSP support for ~web-mode~ and ~css-mode~. Requires [[doom-module:][:tools lsp]] and a
|
||||||
|
langserver.
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][company-web]] if [[doom-module:][:completion company]]
|
||||||
|
- [[doom-package:][counsel-css]] if [[doom-module:][:completion ivy]]
|
||||||
|
- [[doom-package:][emmet-mode]]
|
||||||
|
- [[doom-package:][haml-mode]]
|
||||||
|
- [[doom-package:][helm-css-scss]] if [[doom-module:][:completion helm]]
|
||||||
|
- [[doom-package:][less-css-mode]]
|
||||||
|
- [[doom-package:][pug-mode]]
|
||||||
|
- [[doom-package:][rainbow-mode]]
|
||||||
|
- [[doom-package:][sass-mode]]
|
||||||
|
- [[doom-package:][slim-mode]]
|
||||||
|
- [[doom-package:][stylus-mode]]
|
||||||
|
- [[doom-package:][sws-mode]]
|
||||||
|
- [[doom-package:][web-mode]]
|
||||||
|
|
||||||
|
** TODO Hacks
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module's hacks haven't been documented yet. [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* TODO Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /No installation steps have been documented./ [[doom-contrib-module:][Document them?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
|
@ -1,38 +1,53 @@
|
||||||
#+TITLE: lang/yaml
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang yaml][Issues]] ↖ [[doom-module-source:lang/yaml][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: April 23, 2020
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v3.0.0
|
#+TITLE: :lang yaml
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: JSON, but readable
|
||||||
|
#+CREATED: April 24, 2020
|
||||||
|
#+SINCE: 21.12.0
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
This module provides support for the [[https://yaml.org/][YAML file format]] to Doom Emacs.
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#troubleshooting][Troubleshooting]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module provides support for the [[https://yaml.org/][YAML file format]].
|
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
This module has no dedicated maintainers.
|
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
|
|
||||||
** Module Flags
|
** Module flags
|
||||||
+ =+lsp= Enables integration with LSP servers. Requires the =:tools lsp= module to be enabled.
|
- +lsp ::
|
||||||
|
Enable LSP support for ~yaml-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||||
|
(supports [[https://github.com/redhat-developer/yaml-language-server][yaml-language-server]]).
|
||||||
|
|
||||||
** Plugins
|
** Packages
|
||||||
+ [[https://github.com/yoshiki/yaml-mode][yaml-mode]]
|
- [[doom-package:][yaml-mode]]
|
||||||
|
|
||||||
* Prerequisites
|
** Hacks
|
||||||
This module has no prerequisites.
|
/No hacks documented for this module./
|
||||||
|
|
||||||
* TODO Features
|
** TODO Changelog
|
||||||
# An in-depth list of features, how to use them, and their dependencies.
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
|
/This module has no external requirements./
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Configuration
|
* TODO Configuration
|
||||||
# How to configure this module, including common problems and how to address them.
|
#+begin_quote
|
||||||
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* TODO Troubleshooting
|
* TODO Troubleshooting
|
||||||
# Common issues and their solution, or places to look for help.
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
|
@ -1,66 +1,86 @@
|
||||||
#+TITLE: lang/zig
|
← [[doom-module-index:][Back to module index]] ↙ [[doom-module-issues:::lang zig][Issues]] ↖ [[doom-module-source:lang/zig][Source]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
|
||||||
#+DATE: March 18, 2021
|
--------------------------------------------------------------------------------
|
||||||
#+SINCE: v2.0.9
|
#+TITLE: :lang zig
|
||||||
#+STARTUP: inlineimages nofold
|
#+SUBTITLE: C, but simpler
|
||||||
|
#+CREATED: April 05, 2021
|
||||||
|
#+SINCE: 21.12.0 (#4827)
|
||||||
|
|
||||||
* Table of Contents :TOC_3:noexport:
|
* Description :unfold:
|
||||||
- [[#description][Description]]
|
|
||||||
- [[#maintainers][Maintainers]]
|
|
||||||
- [[#module-flags][Module Flags]]
|
|
||||||
- [[#plugins][Plugins]]
|
|
||||||
- [[#prerequisites][Prerequisites]]
|
|
||||||
- [[#features][Features]]
|
|
||||||
- [[#lsp-support][LSP support]]
|
|
||||||
- [[#keybinds][Keybinds]]
|
|
||||||
- [[#configuration][Configuration]]
|
|
||||||
- [[#customize-zls-path][Customize zls path]]
|
|
||||||
|
|
||||||
* Description
|
|
||||||
This module adds [[https://ziglang.org/][Zig]] support, with optional (but recommended) LSP support via
|
This module adds [[https://ziglang.org/][Zig]] support, with optional (but recommended) LSP support via
|
||||||
[[https://github.com/zigtools/zls][zls]].
|
[[https://github.com/zigtools/zls][zls]].
|
||||||
|
|
||||||
+ Syntax highlighting
|
- Syntax highlighting
|
||||||
+ Syntax-checking (~flycheck~)
|
- Syntax-checking ([[doom-package:][flycheck]])
|
||||||
+ Code completion and LSP integration (~zls~)
|
- Code completion and LSP integration (~zls~)
|
||||||
|
|
||||||
** Maintainers
|
** Maintainers
|
||||||
+ [[https://github.com/bnjmnt4n][@bnjmnt4n]] (Author)
|
- [[doom-user:][@bnjmnt4n]]
|
||||||
|
|
||||||
** Module Flags
|
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||||
+ =+lsp= Enables integration for the zls LSP server. It is highly recommended
|
|
||||||
you use this.
|
|
||||||
|
|
||||||
** Plugins
|
** Module flags
|
||||||
+ [[https://github.com/ziglang/zig-mode][zig-mode]]
|
- +lsp ::
|
||||||
|
Enables integration for the zls LSP server. It is highly recommended you use
|
||||||
|
this.
|
||||||
|
|
||||||
|
** Packages
|
||||||
|
- [[doom-package:][zig-mode]]
|
||||||
|
|
||||||
|
** Hacks
|
||||||
|
/No hacks documented for this module./
|
||||||
|
|
||||||
|
** TODO Changelog
|
||||||
|
# This section will be machine generated. Don't edit it by hand.
|
||||||
|
/This module does not have a changelog yet./
|
||||||
|
|
||||||
|
* Installation
|
||||||
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||||
|
|
||||||
* Prerequisites
|
|
||||||
To get started with Zig, you need the ~zig~ tool. Pre-built binaries for most
|
To get started with Zig, you need the ~zig~ tool. Pre-built binaries for most
|
||||||
systems are available for download from [[https://ziglang.org/download/]] or from
|
systems are available for download from [[https://ziglang.org/download/]] or from
|
||||||
[[https://github.com/ziglang/zig/wiki/Install-Zig-from-a-Package-Manager][system package managers]].
|
[[https://github.com/ziglang/zig/wiki/Install-Zig-from-a-Package-Manager][system package managers]].
|
||||||
|
|
||||||
zls is a language server for Zig, which provides code completion,
|
=zls= is a language server for Zig, which provides code completion,
|
||||||
|
|
||||||
|
* TODO Usage
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Features
|
|
||||||
** LSP support
|
** LSP support
|
||||||
This module supports LSP integration. For it to work you'll need:
|
This module supports LSP integration. For it to work you'll need:
|
||||||
|
|
||||||
1. zls installed.
|
1. zls installed,
|
||||||
2. The =:tools lsp= module enabled. Only =lsp-mode= is supported for now.
|
2. The [[doom-module:][:tools lsp]] module enabled. Only [[doom-package:][lsp-mode]] is supported for now,
|
||||||
3. The ~+lsp~ flag on this module enabled.
|
3. The [[doom-module:][+lsp]] flag on this module enabled.
|
||||||
|
|
||||||
** Keybinds
|
** Keybinds
|
||||||
| Binding | Description |
|
| Binding | Description |
|
||||||
|-------------------+---------------------|
|
|-------------------+---------------------|
|
||||||
| ~<localleader> b~ | ~zig-compile~ |
|
| [[kbd:][<localleader> b]] | ~zig-compile~ |
|
||||||
| ~<localleader> f~ | ~zig-format-buffer~ |
|
| [[kbd:][<localleader> f]] | ~zig-format-buffer~ |
|
||||||
| ~<localleader> r~ | ~zig-run~ |
|
| [[kbd:][<localleader> r]] | ~zig-run~ |
|
||||||
| ~<localleader> t~ | ~zig-test-buffer~ |
|
| [[kbd:][<localleader> t]] | ~zig-test-buffer~ |
|
||||||
|
|
||||||
|
* TODO Configuration
|
||||||
|
#+begin_quote
|
||||||
|
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||||
|
#+end_quote
|
||||||
|
|
||||||
* Configuration
|
|
||||||
** Customize zls path
|
** Customize zls path
|
||||||
To customize the path of the =zls= executable, modify ~lsp-zig-zls-executable~.
|
To customize the path of the =zls= executable, modify ~lsp-zig-zls-executable~:
|
||||||
|
#+begin_src emacs-lisp
|
||||||
#+BEGIN_SRC elisp
|
|
||||||
;; in $DOOMDIR/config.el
|
;; in $DOOMDIR/config.el
|
||||||
(setq lsp-zig-zls-executable "~/path/to/zls")
|
(setq lsp-zig-zls-executable "~/path/to/zls")
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
|
* Troubleshooting
|
||||||
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||||
|
|
||||||
|
* Frequently asked questions
|
||||||
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
||||||
|
|
||||||
|
* TODO Appendix
|
||||||
|
#+begin_quote
|
||||||
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
||||||
|
#+end_quote
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue