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
|
||||
#+CREATED: August 3, 2021
|
||||
#+SINCE: v21.12.0
|
||||
#+SETUPFILE: ../../docs/.setupfile.org
|
||||
#+TITLE: :lang
|
||||
#+CREATED: August 03, 2021
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* 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
|
||||
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
|
||||
#+DATE: April 13, 2021
|
||||
#+SINCE: v3.0.0
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang beancount
|
||||
#+SUBTITLE: Mind the GAAP
|
||||
#+CREATED: April 13, 2021
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#hacks][Hacks]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
|
||||
* Description
|
||||
* Description :unfold:
|
||||
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]].
|
||||
|
||||
+ Supports [[https://github.com/polarmutex/beancount-language-server][beancount-language-server]] (if module is enabled with the =+lsp=
|
||||
flag).
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
- @hlissner
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enable support for [beancount-language-server]. Requires Doom's =:tools
|
||||
lsp= module.
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/beancount/beancount-mode][beancount]]
|
||||
** Module flags
|
||||
- +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
|
||||
+ Associates the material =attach_money= icon with *.beancount files in the
|
||||
=all-the-icons= package.
|
||||
- Associates the material =attach_money= icon with =*.beancount= files in the
|
||||
[[doom-package:][all-the-icons]] package.
|
||||
|
||||
* Prerequisites
|
||||
This module has no hard prerequisites, but assumes you have [[https://github.com/beancount/beancount][beancount]] installed
|
||||
in order to generate reports with ~bean-report~.
|
||||
** 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/beancount/beancount][beancount]], for generating reports
|
||||
- [[https://beancount.github.io/fava/][fava]], for a web interface for your ledgers
|
||||
|
||||
* TODO Usage
|
||||
#+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
|
||||
|
||||
* TODO Features
|
||||
# An in-depth list of features, how to use them, and their dependencies.
|
||||
|
||||
* 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
|
||||
# Common issues and their solution, or places to look for help.
|
||||
* 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,73 +1,71 @@
|
|||
#+TITLE: lang/cc
|
||||
#+DATE: January 16, 2017
|
||||
#+SINCE: v2.0
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang cc
|
||||
#+SUBTITLE: C > C++ == 1
|
||||
#+CREATED: February 20, 2017
|
||||
#+SINCE: 2.0.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
This module adds support for the C-family of languages: C, C++, and Objective-C.
|
||||
|
||||
+ Code completion (~company-irony~)
|
||||
+ eldoc support (~irony-eldoc~)
|
||||
+ Syntax-checking (~flycheck-irony~)
|
||||
+ Code navigation (~rtags~)
|
||||
+ 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]])
|
||||
+ Several improvements to C++11 indentation and syntax highlighting.
|
||||
- Code completion (~company-irony~)
|
||||
- eldoc support (~irony-eldoc~)
|
||||
- Syntax-checking (~flycheck-irony~)
|
||||
- Code navigation (~rtags~)
|
||||
- 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]])
|
||||
- Several improvements to C++11 indentation and syntax highlighting.
|
||||
|
||||
** Module Flags
|
||||
+ ~+lsp~ Disables irony+rtags and replaces them with LSP (ccls by default). This
|
||||
requires the =:tools lsp= module.
|
||||
** Maintainers
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/Kitware/CMake][cmake-mode]]
|
||||
+ [[https://github.com/chachi/cuda-mode][cuda-mode]]
|
||||
+ [[https://github.com/liblit/demangle-mode][demangle-mode]]
|
||||
+ [[https://github.com/jart/disaster][disaster]]
|
||||
+ [[https://github.com/ludwigpacifici/modern-cpp-font-lock][modern-cpp-font-lock]]
|
||||
+ [[https://github.com/salmanebah/opencl-mode][opencl-mode]]
|
||||
+ [[https://github.com/jimhourihan/glsl-mode][glsl-mode]]*
|
||||
+ [[https://github.com/guidoschmidt/company-glsl][company-glsl]]*
|
||||
+ =+lsp=
|
||||
+ [[https://github.com/MaskRay/emacs-ccls][ccls]] if =:tools lsp= has *no* =+eglot= flag
|
||||
+ =-lsp=
|
||||
+ [[https://github.com/Sarcasm/irony-mode][irony]]
|
||||
+ [[https://github.com/ikirill/irony-eldoc][irony-eldoc]]
|
||||
+ [[https://github.com/Sarcasm/flycheck-irony][flycheck-irony]]
|
||||
+ [[https://github.com/Sarcasm/company-irony][company-irony]]
|
||||
+ [[https://github.com/hotpxl/company-irony-c-headers][company-irony-c-headers]]
|
||||
+ [[https://github.com/Andersbakken/rtags][rtags]]
|
||||
+ [[https://github.com/Andersbakken/rtags][ivy-rtags]]
|
||||
+ [[https://github.com/Andersbakken/rtags][helm-rtags]]
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module flags
|
||||
- +lsp ::
|
||||
Enable LSP support for ~c-mode~, ~c++-mode~, and ~objc-mode~. Requires [[doom-module:][:tools
|
||||
lsp]] and a langserver (supports ccls, clangd, and cquery). Replaces irony &
|
||||
rtags.
|
||||
|
||||
** Packages
|
||||
- [[doom-package:][cmake-mode]]
|
||||
- [[doom-package:][company-glsl]]
|
||||
- [[doom-package:][cuda-mode]]
|
||||
- [[doom-package:][demangle-mode]]
|
||||
- [[doom-package:][disaster]]
|
||||
- [[doom-package:][glsl-mode]]
|
||||
- [[doom-package:][modern-cpp-font-lock]]
|
||||
- [[doom-package:][opencl-mode]]
|
||||
- if [[doom-module:][+lsp]]
|
||||
- [[doom-package:][ccls]] if [[doom-module:][:tools lsp -eglot]]
|
||||
- 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.
|
||||
|
||||
+ If =+lsp= is enabled, you need one of *clangd v9+* or *ccls*.
|
||||
+ If =+lsp= is *not* enabled, you need *irony-server* and *rtags*.
|
||||
+ Other features in this module depend on:
|
||||
+ (optional) glslangValidator, for GLSL completion in ~glsl-mode~
|
||||
+ (optional) cmake, for code completion in ~cmake-mode~
|
||||
+ You will need a C/C++ compiler, like =gcc= or =clang=.
|
||||
- If [[doom-module:][+lsp]] is enabled, you need one of *clangd v9+* or *ccls*.
|
||||
- If [[doom-module:][+lsp]] is *not* enabled, you need *irony-server* and *rtags*.
|
||||
- Other features in this module depend on:
|
||||
- (optional) glslangValidator, for GLSL completion in ~glsl-mode~
|
||||
- (optional) cmake, for code completion in ~cmake-mode~
|
||||
- You will need a C/C++ compiler, like =gcc= or =clang=.
|
||||
|
||||
** LSP servers
|
||||
=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
|
||||
available through your OS' package manager.
|
||||
- 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]]
|
||||
- Fedora & CentOS/RHEL 8+: ~# dnf install clang-tools-extra~
|
||||
- openSUSE: ~# zypper install clang~
|
||||
- Arch: ~# pacman -S clang~
|
||||
- Fedora & CentOS/RHEL 8+: ~$ dnf install clang-tools-extra~
|
||||
- openSUSE: ~$ zypper install clang~
|
||||
- Arch: ~$ pacman -S clang~
|
||||
- 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!
|
||||
- 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
|
||||
|
@ -97,14 +95,13 @@ irony-install-server~ in Emacs.
|
|||
|
||||
*** macOS
|
||||
Due to linking issues, macOS users must compile irony-server manually:
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
brew install cmake
|
||||
brew install llvm
|
||||
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
|
||||
pushd irony-mode/server/build
|
||||
|
||||
|
@ -121,7 +118,7 @@ install_name_tool -change @rpath/libclang.dylib \
|
|||
# Cleanup
|
||||
popd
|
||||
rm -rf irony-mode
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** rtags
|
||||
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
|
||||
isn't already running). If you prefer to run it yourself:
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
rdm &
|
||||
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
|
||||
By default, a set of default compile settings are defined in
|
||||
~+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
|
||||
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
|
||||
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
# For non-CMake projects
|
||||
make clean
|
||||
bear make
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
Use ~M-x +cc/reload-compile-db~ to reload your compile db in an already-open
|
||||
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.
|
||||
|
||||
From the bear [[https://github.com/rizsotto/Bear#empty-compilation-database-on-os-x-captain-or-fedora][readme]]:
|
||||
|
||||
#+begin_quote
|
||||
Security extension/modes on different operating systems might disable library
|
||||
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.
|
||||
#+end_quote
|
||||
|
||||
A workaround might be to install ~make~ via Homebrew which puts ~gmake~
|
||||
under ~/usr/local/~.
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
A workaround might be to install ~make~ via Homebrew which puts ~gmake~ under
|
||||
=/usr/local/=:
|
||||
#+begin_src sh
|
||||
brew install make
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
#+end_src
|
||||
#+begin_src sh
|
||||
make clean
|
||||
bear gmake
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
Additional info:
|
||||
+ [[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/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]]
|
||||
|
||||
** Configure LSP servers
|
||||
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
|
||||
=init.el= file.
|
||||
[[doom-package:][lsp-mode]] by default, [[doom-package:][eglot]] if you have [[doom-module:][:tools lsp +eglot]] active in
|
||||
=$DOOMDIR/init.el= file.
|
||||
|
||||
*** 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
|
||||
(setq lsp-clients-clangd-args '("-j=3"
|
||||
"--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.
|
||||
This will both set your clangd flags and choose =clangd= as the default LSP
|
||||
server everywhere clangd can be used.
|
||||
|
||||
*** LSP-mode with ccls
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
#+begin_src emacs-lisp
|
||||
(after! ccls
|
||||
(setq ccls-initialization-options '(:index (:comments 2) :completion (:detailedLabel t)))
|
||||
(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
|
||||
documentation]] lists available options, use =t= for ~true~, =:json-false= for
|
||||
~false~, and =:json-null= for ~null~.
|
||||
|
||||
*** Eglot with clangd
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
#+begin_src emacs-lisp
|
||||
(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
|
||||
it is the last =set-eglot-client! 'cc-mode= in your config).
|
||||
|
||||
*** Eglot with ccls
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
#+begin_src emacs-lisp
|
||||
(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
|
||||
is the last =set-eglot-client! 'cc-mode= in your config). [[https://github.com/MaskRay/ccls/wiki/Customization#--initjson][CCLS documentation]]
|
||||
lists available options
|
||||
|
||||
* Appendix
|
||||
** Eglot specific bindings
|
||||
When using =+lsp= and =:tools (lsp +eglot)=, lsp-mode is replaced with eglot,
|
||||
and an additional function to get inheritance type hierarchy is added
|
||||
| Binding | Description |
|
||||
|------------------------------+--------------------------------------------------|
|
||||
| ~<localleader> c t~ | ~Display inheritance type hierarchy (upwards)~ |
|
||||
| ~<prefix> <localleader> c t~ | ~Display inheritance type hierarchy (downwards)~ |
|
||||
* 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,115 +1,122 @@
|
|||
#+TITLE: lang/clojure
|
||||
#+DATE: May 30, 2017
|
||||
#+SINCE: v2.0
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang clojure
|
||||
#+SUBTITLE: Java with a lisp
|
||||
#+CREATED: May 30, 2017
|
||||
#+SINCE: 2.0.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#hacks][Hacks]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#keybindings][Keybindings]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
|
||||
* Description
|
||||
* Description :unfold:
|
||||
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
|
||||
more
|
||||
+ Refactoring (~clj-refactor~)
|
||||
+ Linting (~clj-kondo~), requires ~:checkers syntax~
|
||||
+ LSP support (~clojure-lsp~)
|
||||
- Refactoring (~clj-refactor~)
|
||||
- Linting (~clj-kondo~), requires ~:checkers syntax~
|
||||
- LSP support (~clojure-lsp~)
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables LSP support, alongside Cider.
|
||||
** Module flags
|
||||
- +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
|
||||
+ [[https://github.com/clojure-emacs/cider][cider]]
|
||||
+ [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]]
|
||||
+ [[https://github.com/borkdude/flycheck-clj-kondo][flycheck-clj-kondo]]
|
||||
** Packages
|
||||
- [[doom-package:][cider]]
|
||||
- [[doom-package:][clj-refactor]]
|
||||
- [[doom-package:][flycheck-clj-kondo]] if [[doom-module:][:checkers syntax]]
|
||||
|
||||
** 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.
|
||||
+ 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:
|
||||
- [[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]]
|
||||
+ [[https://leiningen.org/][leiningen]] (REPL)
|
||||
+ [[https://github.com/borkdude/clj-kondo][clj-kondo]] (linter)
|
||||
+ With =+lsp=
|
||||
+ [[https://clojure-lsp.github.io/clojure-lsp/][clojure-lsp]]
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
|
||||
* TODO Features
|
||||
# An in-depth list of features, how to use them, and their dependencies.
|
||||
** Keybindings
|
||||
| Binding | Description |
|
||||
|---------------------+------------------------------------------------------|
|
||||
| =<localleader> '= | =cider-jack-in-clj= |
|
||||
| =<localleader> C= | =cider-connect-cljs= |
|
||||
| =<localleader> M= | =cider-macroexpand-all= |
|
||||
| =<localleader> R= | =hydra-cljr-help-menu/body= |
|
||||
| =<localleader> c= | =cider-connect-clj= |
|
||||
| =<localleader> e D= | =cider-insert-defun-in-repl= |
|
||||
| =<localleader> e E= | =cider-insert-last-sexp-in-repl= |
|
||||
| =<localleader> e R= | =cider-insert-region-in-repl= |
|
||||
| =<localleader> e b= | =cider-eval-buffer= |
|
||||
| =<localleader> e d= | =cider-eval-defun-at-point= |
|
||||
| =<localleader> e e= | =cider-eval-last-sexp= |
|
||||
| =<localleader> e r= | =cider-eval-region= |
|
||||
| =<localleader> e u= | =cider-undef= |
|
||||
| =<localleader> g b= | =cider-pop-back= |
|
||||
| =<localleader> g g= | =cider-find-var= |
|
||||
| =<localleader> g n= | =cider-find-ns= |
|
||||
| =<localleader> h a= | =cider-apropos= |
|
||||
| =<localleader> h c= | =cider-clojuredocs= |
|
||||
| =<localleader> h d= | =cider-doc= |
|
||||
| =<localleader> h j= | =cider-javadoc= |
|
||||
| =<localleader> h n= | =cider-find-ns= |
|
||||
| =<localleader> h w= | =cider-clojuredocs-web= |
|
||||
| =<localleader> i e= | =cider-enlighten-mode= |
|
||||
| =<localleader> i i= | =cider-inspect= |
|
||||
| =<localleader> i r= | =cider-inspect-last-result= |
|
||||
| =<localleader> m "= | =cider-jack-in-cljs= |
|
||||
| =<localleader> m= | =cider-macroexpand-1= |
|
||||
| =<localleader> n N= | =cider-browse-ns-all= |
|
||||
| =<localleader> n n= | =cider-browse-ns= |
|
||||
| =<localleader> n r= | =cider-ns-refresh= |
|
||||
| =<localleader> p d= | =cider-pprint-eval-defun-at-point= |
|
||||
| =<localleader> p D= | =cider-pprint-eval-defun-to-comment= |
|
||||
| =<localleader> p p= | =cider-pprint-eval-last-sexp= |
|
||||
| =<localleader> p P= | =cider-pprint-eval-last-sexp-to-comment= |
|
||||
| =<localleader> p r= | =cider-pprint-eval-last-sexp-to-repl= |
|
||||
| =<localleader> r B= | =+clojure/cider-switch-to-repl-buffer-and-switch-ns= |
|
||||
| =<localleader> r L= | =cider-load-buffer-and-switch-to-repl-buffer= |
|
||||
| =<localleader> r R= | =cider-restart= |
|
||||
| =<localleader> r b= | =cider-switch-to-repl-buffer= |
|
||||
| =<localleader> r c= | =cider-find-and-clear-repl-output= |
|
||||
| =<localleader> r l= | =cider-load-buffer= |
|
||||
| =<localleader> r n= | =cider-repl-set-ns= |
|
||||
| =<localleader> r q= | =cider-quit= |
|
||||
| =<localleader> r r= | =cider-ns-refresh= |
|
||||
| =<localleader> t a= | =cider-test-rerun-test= |
|
||||
| =<localleader> t l= | =cider-test-run-loaded-tests= |
|
||||
| =<localleader> t n= | =cider-test-run-ns-tests= |
|
||||
| =<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= |
|
||||
| Keybind | Command |
|
||||
|-------------------+------------------------------------------------------|
|
||||
| [[kbd:][<localleader> ']] | ~cider-jack-in-clj~ |
|
||||
| [[kbd:][<localleader> C]] | ~cider-connect-cljs~ |
|
||||
| [[kbd:][<localleader> M]] | ~cider-macroexpand-all~ |
|
||||
| [[kbd:][<localleader> R]] | ~hydra-cljr-help-menu/body~ |
|
||||
| [[kbd:][<localleader> c]] | ~cider-connect-clj~ |
|
||||
| [[kbd:][<localleader> e D]] | ~cider-insert-defun-in-repl~ |
|
||||
| [[kbd:][<localleader> e E]] | ~cider-insert-last-sexp-in-repl~ |
|
||||
| [[kbd:][<localleader> e R]] | ~cider-insert-region-in-repl~ |
|
||||
| [[kbd:][<localleader> e b]] | ~cider-eval-buffer~ |
|
||||
| [[kbd:][<localleader> e d]] | ~cider-eval-defun-at-point~ |
|
||||
| [[kbd:][<localleader> e e]] | ~cider-eval-last-sexp~ |
|
||||
| [[kbd:][<localleader> e r]] | ~cider-eval-region~ |
|
||||
| [[kbd:][<localleader> e u]] | ~cider-undef~ |
|
||||
| [[kbd:][<localleader> g b]] | ~cider-pop-back~ |
|
||||
| [[kbd:][<localleader> g g]] | ~cider-find-var~ |
|
||||
| [[kbd:][<localleader> g n]] | ~cider-find-ns~ |
|
||||
| [[kbd:][<localleader> h a]] | ~cider-apropos~ |
|
||||
| [[kbd:][<localleader> h c]] | ~cider-clojuredocs~ |
|
||||
| [[kbd:][<localleader> h d]] | ~cider-doc~ |
|
||||
| [[kbd:][<localleader> h j]] | ~cider-javadoc~ |
|
||||
| [[kbd:][<localleader> h n]] | ~cider-find-ns~ |
|
||||
| [[kbd:][<localleader> h w]] | ~cider-clojuredocs-web~ |
|
||||
| [[kbd:][<localleader> i e]] | ~cider-enlighten-mode~ |
|
||||
| [[kbd:][<localleader> i i]] | ~cider-inspect~ |
|
||||
| [[kbd:][<localleader> i r]] | ~cider-inspect-last-result~ |
|
||||
| [[kbd:][<localleader> m "]] | ~cider-jack-in-cljs~ |
|
||||
| [[kbd:][<localleader> m]] | ~cider-macroexpand-1~ |
|
||||
| [[kbd:][<localleader> n N]] | ~cider-browse-ns-all~ |
|
||||
| [[kbd:][<localleader> n n]] | ~cider-browse-ns~ |
|
||||
| [[kbd:][<localleader> n r]] | ~cider-ns-refresh~ |
|
||||
| [[kbd:][<localleader> p d]] | ~cider-pprint-eval-defun-at-point~ |
|
||||
| [[kbd:][<localleader> p D]] | ~cider-pprint-eval-defun-to-comment~ |
|
||||
| [[kbd:][<localleader> p p]] | ~cider-pprint-eval-last-sexp~ |
|
||||
| [[kbd:][<localleader> p P]] | ~cider-pprint-eval-last-sexp-to-comment~ |
|
||||
| [[kbd:][<localleader> p r]] | ~cider-pprint-eval-last-sexp-to-repl~ |
|
||||
| [[kbd:][<localleader> r B]] | ~+clojure/cider-switch-to-repl-buffer-and-switch-ns~ |
|
||||
| [[kbd:][<localleader> r L]] | ~cider-load-buffer-and-switch-to-repl-buffer~ |
|
||||
| [[kbd:][<localleader> r R]] | ~cider-restart~ |
|
||||
| [[kbd:][<localleader> r b]] | ~cider-switch-to-repl-buffer~ |
|
||||
| [[kbd:][<localleader> r c]] | ~cider-find-and-clear-repl-output~ |
|
||||
| [[kbd:][<localleader> r l]] | ~cider-load-buffer~ |
|
||||
| [[kbd:][<localleader> r n]] | ~cider-repl-set-ns~ |
|
||||
| [[kbd:][<localleader> r q]] | ~cider-quit~ |
|
||||
| [[kbd:][<localleader> r r]] | ~cider-ns-refresh~ |
|
||||
| [[kbd:][<localleader> t a]] | ~cider-test-rerun-test~ |
|
||||
| [[kbd:][<localleader> t l]] | ~cider-test-run-loaded-tests~ |
|
||||
| [[kbd:][<localleader> t n]] | ~cider-test-run-ns-tests~ |
|
||||
| [[kbd:][<localleader> t p]] | ~cider-test-run-project-tests~ |
|
||||
| [[kbd:][<localleader> t r]] | ~cider-test-rerun-failed-tests~ |
|
||||
| [[kbd:][<localleader> t s]] | ~cider-test-run-ns-tests-with-filters~ |
|
||||
| [[kbd:][<localleader> t t]] | ~cider-test-run-test~ |
|
||||
|
||||
* 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
|
||||
# Common issues and their solution, or places to look for help.
|
||||
* 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,22 +1,12 @@
|
|||
#+TITLE: lang/common-lisp
|
||||
#+DATE: June 13, 2018
|
||||
#+SINCE: v2.0
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang common-lisp
|
||||
#+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][Description]]
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
This module provides support for [[https://lisp-lang.org/][Common Lisp]] and the [[doom-package:][Sly]] development
|
||||
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
|
||||
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.
|
||||
|
||||
** 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]]
|
||||
+ [[https://github.com/joaotavora/sly-macrostep][sly-macrostep]]
|
||||
+ [[https://github.com/PuercoPop/sly-repl-ansi-color][sly-repl-ansi-color]]
|
||||
* Installation
|
||||
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||
|
||||
* 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 the =lsp= module. Sly (and SLIME before it) is
|
||||
This module does not integrate with [[doom-module:][:tools lsp]]. Sly (and SLIME before it) is
|
||||
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
|
||||
Emacs.
|
||||
|
||||
** Sly
|
||||
|
||||
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]].
|
||||
|
||||
A Sly session will be started when you open a =.lisp= file. Use =SPC m '= to switch
|
||||
to the REPL minibuffer.
|
||||
A Sly session will be started when you open a =.lisp= file. Use [[kbd:][<localleader> ']]
|
||||
to switch to the REPL minibuffer.
|
||||
|
||||
** 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.
|
||||
|
||||
* 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
|
||||
~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]].
|
||||
|
||||
+ Code completion ([[https://github.com/cpitclaudel/company-coq][company-coq]])
|
||||
+ [[https://github.com/hlissner/doom-snippets/tree/master/coq-mode][Snippets]]
|
||||
- Code completion ([[https://github.com/cpitclaudel/company-coq][company-coq]])
|
||||
- [[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
|
||||
#+DATE: January 16, 2017
|
||||
#+SINCE: v1.3
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang crystal
|
||||
#+SUBTITLE: Ruby at the speed of c
|
||||
#+CREATED: January 16, 2017
|
||||
#+SINCE: 1.3
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
This modules adds [[https://crystal-lang.org/][crystal]] support.
|
||||
|
||||
+ Syntax-checking (~flycheck~)
|
||||
+ REPL (~inf-crystal~)
|
||||
- Syntax-checking (~flycheck~)
|
||||
- REPL (~inf-crystal~)
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/crystal-lang-tools/emacs-crystal-mode/][crystal-mode]]
|
||||
+ [[https://github.com/brantou/inf-crystal.el/][inf-crystal]]
|
||||
+ if ~:checkers syntax~ is enabled
|
||||
- [[https://github.com/crystal-lang-tools/emacs-crystal-mode/][flycheck-crystal]]
|
||||
- [[https://github.com/crystal-ameba/ameba.el/][flycheck-ameba]]
|
||||
** Packages
|
||||
- [[doom-package:][crystal-mode]]
|
||||
- [[doom-package:][inf-crystal]]
|
||||
- if [[doom-module:][:checkers syntax]]
|
||||
- [[doom-package:][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
|
||||
you need to install [[https://crystal-lang.org/install/][the crystal compiler]].
|
||||
|
||||
*** MacOS
|
||||
#+begin_src shell
|
||||
brew install crystal
|
||||
#+end_src
|
||||
|
||||
*** Arch
|
||||
#+begin_src shell
|
||||
sudo pacman -S crystal shards
|
||||
#+end_src
|
||||
- MacOS: ~$ brew install crystal~
|
||||
- Arch Linux: ~$ pacman -S crystal shards~
|
||||
|
||||
** 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
|
||||
# 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
|
||||
# Common issues and their solution, or places to look for help.
|
||||
* 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,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][Description]]
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
This module adds C# support to Emacs, powered by Omnisharp (directly or through
|
||||
LSP).
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables omnisharp through LSP support (requires omnisharp).
|
||||
+ =+unity= Enables special support for the [[https://unity.com/][Unity game engine]] (particularly,
|
||||
support for HLSL shaders).
|
||||
+ =+dotnet= Enables Dotnet transient interface with Sharper
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/josteink/csharp-mode][csharp-mode]]
|
||||
+ [[https://github.com/omajid/csproj-mode][csproj-mode]]
|
||||
+ [[https://github.com/OmniSharp/omnisharp-emacs][omnisharp]]* (not =+lsp=)
|
||||
+ [[https://github.com/midnightSuyama/shader-mode][shader-mode]]* (=+unity=)
|
||||
+ [[https://github.com/sebasmonia/sharper][sharper]] (=+dotnet=)
|
||||
** Module flags
|
||||
- +dotnet ::
|
||||
Enable Dotnet transient interface with Sharper
|
||||
- +lsp ::
|
||||
Enable LSP support for ~csharp-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||
(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
|
||||
This module needs:
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
+ omnisharp (with the ~+lsp~ flag, this must be installed externally. Without
|
||||
it, use ~M-x omnisharp-install-server~)
|
||||
+ .NET SDKs (on Windows)
|
||||
+ Mono (on UNIX platforms)
|
||||
+ .NET Core 1.X - 3.X or .NET 5 for cross platform
|
||||
** 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:
|
||||
- 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
|
||||
|
||||
** Arch Linux
|
||||
#+BEGIN_SRC sh
|
||||
sudo pacman --needed --noconfirm -S mono
|
||||
#+END_SRC
|
||||
#+begin_src sh
|
||||
pacman --needed --noconfirm -S mono
|
||||
#+end_src
|
||||
|
||||
** 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
|
||||
#+DATE: February 16, 2020
|
||||
#+SINCE: v3.0.0
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang dart
|
||||
#+SUBTITLE: Paint ui and not much else
|
||||
#+CREATED: February 16, 2020
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#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 :unfold:
|
||||
[[https://dart.dev/][Dart]] is a client-optimized language by Google for fast apps on any platform. 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.
|
||||
|
||||
* Description
|
||||
[[https://dart.dev/][Dart]] is a client-optimized language by Google for fast apps on any platform.
|
||||
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.
|
||||
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
|
||||
+ [[https://github.com/ericdallo][@ericdallo]]
|
||||
- [[doom-user:][@ericdallo]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enable LSP server integration.
|
||||
+ =+flutter= Adds ~flutter~ integration and some sane defaults for Flutter
|
||||
development along with ~hover~ for desktop development.
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/bradyt/dart-mode][dart-mode]]
|
||||
+ [[https://github.com/amake/flutter.el][flutter.el]]
|
||||
+ [[https://github.com/ericdallo/hover.el][hover.el]]
|
||||
** Module flags
|
||||
- +flutter ::
|
||||
Enable ~flutter~ integration and some sane defaults for Flutter development
|
||||
along with ~hover~ for desktop development.
|
||||
- +lsp ::
|
||||
Enable LSP support for ~dart-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||
(supports flutter).
|
||||
|
||||
* Prerequisites
|
||||
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.
|
||||
** Packages
|
||||
- [[doom-package:][dart-mode]]
|
||||
- [[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
|
||||
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,
|
||||
please refer to the official website at: https://dart.dev/get-dart
|
||||
|
||||
+ *On Debian (also Ubuntu and its derivations):*
|
||||
#+BEGIN_SRC shell
|
||||
sudo apt-get install dart
|
||||
#+END_SRC
|
||||
+ *On Arch Linux (and derivations like Manjaro):*
|
||||
#+BEGIN_SRC shell
|
||||
sudo pacman -S dart
|
||||
#+END_SRC
|
||||
+ *On macOS*:
|
||||
#+BEGIN_SRC shell
|
||||
- *On Debian (also Ubuntu and its derivations):*
|
||||
#+begin_src sh
|
||||
apt-get install dart
|
||||
#+end_src
|
||||
- *On Arch Linux (and derivations like Manjaro):*
|
||||
#+begin_src sh
|
||||
pacman -S dart
|
||||
#+end_src
|
||||
- *On macOS*:
|
||||
#+begin_src sh
|
||||
brew tap dart-lang/dart
|
||||
brew install dart
|
||||
#+END_SRC
|
||||
+ *On NixOS*:
|
||||
#+BEGIN_SRC shell
|
||||
#+end_src
|
||||
- *On NixOS*:
|
||||
#+begin_src sh
|
||||
nix-env -iA nixpkgs.dart
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** Installing Flutter SDK
|
||||
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
|
||||
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
|
||||
export PATH="$PATH:$(pwd)/flutter/bin" # to add it to PATH
|
||||
flutter doctor # for Dependency check and further instructions
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
* Features
|
||||
+ Syntax highlighting and formatting for ~.dart~ files provided by LSP
|
||||
+ Auto import
|
||||
+ Widget guide lines for Flutter
|
||||
+ Closing labels for constructors
|
||||
+ Run tests interactively
|
||||
+ Outline support via ~lsp-treemacs~
|
||||
+ Emacs functions for running and debugging Flutter projects
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
- Syntax highlighting and formatting for ~.dart~ files provided by LSP.
|
||||
- Auto import.
|
||||
- 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
|
||||
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
|
||||
|
@ -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
|
||||
and Flutter on your ~PATH~ variable.
|
||||
|
||||
** Android
|
||||
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
|
||||
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
|
||||
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
|
||||
[[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
|
||||
[[doom-report:][Report an issue?]]
|
||||
|
||||
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
|
||||
the permissions of the ~/opt/dart-sdk~ and ~/opt/flutter~ directories (not to
|
||||
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
|
||||
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
|
||||
#+DATE: June 24, 2019
|
||||
#+SINCE: v2.0.9
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang elixir
|
||||
#+SUBTITLE: Erlang done right
|
||||
#+CREATED: June 24, 2019
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module flags]]
|
||||
- [[#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 :unfold:
|
||||
This module provides support for [[https://elixir-lang.org/][Elixir programming language]] via [[doom-package:][alchemist]] or
|
||||
[[https://github.com/elixir-lsp/elixir-ls/][elixir-ls]].
|
||||
|
||||
* Description
|
||||
This module provides support for [[https://elixir-lang.org/][Elixir programming language]] via [[https://github.com/tonini/alchemist.el][alchemist.el]]
|
||||
or [[https://github.com/elixir-lsp/elixir-ls/][elixir-ls]].
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** 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
|
||||
+ [[https://github.com/elixir-editors/emacs-elixir][elixir-mode]]
|
||||
+ [[https://github.com/tonini/alchemist.el][alchemist.el]]
|
||||
+ [[https://github.com/aaronjensen/flycheck-credo][flycheck-credo]]
|
||||
+ [[https://github.com/ananthakumaran/exunit.el][exunit]]
|
||||
** Packages
|
||||
- [[doom-package:][alchemist]]
|
||||
- [[doom-package:][elixir-mode]]
|
||||
- [[doom-package:][exunit]]
|
||||
- [[doom-package:][flycheck-credo]] if [[doom-module:][:checkers syntax]]
|
||||
|
||||
* Prerequisites
|
||||
You should have Elixir installed, for example, via your distribution's package
|
||||
manager or a version management tool such as [[https://github.com/asdf-vm/asdf-elixir][asdf]].
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
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]]
|
||||
and enable ~:tools lsp~ in your ~init.el~.
|
||||
** 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 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
|
||||
(See [[https://elixir-lang.org/install.html]] for other operating systems)
|
||||
|
||||
*** With ~asdf~
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
asdf plugin-add elixir
|
||||
asdf install elixir 1.9.1
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
*** Arch Linux
|
||||
#+BEGIN_SRC sh :dir /sudo::
|
||||
sudo pacman -S elixir
|
||||
#+END_SRC
|
||||
#+begin_src sh
|
||||
pacman -S elixir
|
||||
#+end_src
|
||||
|
||||
*** Gentoo Linux
|
||||
#+BEGIN_SRC sh :dir /sudo::
|
||||
sudo emerge -v dev-lang/elixir
|
||||
#+END_SRC
|
||||
#+begin_src sh
|
||||
emerge -v dev-lang/elixir
|
||||
#+end_src
|
||||
|
||||
*** openSUSE
|
||||
#+BEGIN_SRC sh :dir /sudo::
|
||||
sudo zypper install elixir
|
||||
#+END_SRC
|
||||
See [[https://elixir-lang.org/install.html]] for other operating systems
|
||||
* Features
|
||||
- Code completion (~:completion company~)
|
||||
- Documentation lookup (~:tools lookup~)
|
||||
#+begin_src sh
|
||||
zypper install elixir
|
||||
#+end_src
|
||||
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /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
|
||||
- Phoenix support
|
||||
- ~iex~ integration (~:tools eval~)
|
||||
- Syntax checking (~:checkers syntax~, using [[https://github.com/aaronjensen/flycheck-credo][flycheck-credo]]~)
|
||||
* Appendix
|
||||
** Commands
|
||||
*** exunit-mode
|
||||
The exunit-mode prefix is =SPC m t=. Here is some examples:
|
||||
| | | |
|
||||
| command | key / ex command | description |
|
||||
|------------------------------------------+------------------+--------------------------------------------------------|
|
||||
| ~exunit-verify-all~ | =SPC m t a= | Runs exunit on all files |
|
||||
| ~exunit-rerun~ | =SPC m t r= | Re-runs last exunit command |
|
||||
| ~exunit-verify~ | =SPC m t v= | Runs exunit on current file |
|
||||
| ~exunit-verify-single~ | =SPC m t s= | Runs exunit for the item on cursor |
|
||||
| ~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 |
|
||||
- ~iex~ integration ([[doom-module:][:tools eval]])
|
||||
- Syntax checking ([[doom-module:][:checkers syntax]], using [[doom-package:][flycheck-credo]])
|
||||
|
||||
** exunit-mode
|
||||
The exunit-mode prefix is [[kbd:][<localleader> t]]. Here is some examples:
|
||||
| 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~ | [[kbd:][<localleader> t v]] | Runs exunit on current file |
|
||||
| ~exunit-verify-single~ | [[kbd:][<localleader> t s]] | Runs exunit for the item on cursor |
|
||||
| ~exunit-toggle-file-and-test~ | [[kbd:][<localleader> t t]] | Switch between implementation and test |
|
||||
| ~exunit-toggle-file-and-test-other-window~ | [[kbd:][<localleader> 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
|
||||
#+DATE: January 16, 2017
|
||||
#+SINCE: v1.3
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang emacs-lisp
|
||||
#+SUBTITLE: A parsel-tongue for the oldest serpent
|
||||
#+CREATED: January 16, 2017
|
||||
#+SINCE: 1.3
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#hacks][Hacks]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
|
||||
* Description
|
||||
* Description :unfold:
|
||||
This module extends support for Emacs Lisp in Doom Emacs.
|
||||
|
||||
+ Macro expansion
|
||||
+ Go-to-definitions or references functionality
|
||||
- Macro expansion
|
||||
- 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
|
||||
+ @hlissner (author)
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/jorgenschaefer/emacs-buttercup][buttercup]]
|
||||
+ [[https://github.com/Wilfred/elisp-def][elisp-def]]
|
||||
+ [[https://github.com/xuchunyang/elisp-demos][elisp-demos]]
|
||||
+ [[https://github.com/flycheck/flycheck-cask][flycheck-cask]] (=:checkers syntax=)
|
||||
+ [[https://github.com/Fanael/highlight-quoted][highlight-quoted]]
|
||||
+ [[https://github.com/joddie/macrostep][macrostep]]
|
||||
+ [[https://github.com/tonini/overseer.el][overseer]]
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
** Packages
|
||||
- [[doom-package:][buttercup]]
|
||||
- [[doom-package:][elisp-def]]
|
||||
- [[doom-package:][elisp-demos]]
|
||||
- [[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
|
||||
+ 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~.
|
||||
+ Eldoc will display the values of variables next to its documentation.
|
||||
+ ~elisp-demos~ was modified to display API demos for Doom's standard library
|
||||
- Eldoc will display the values of variables next to its documentation.
|
||||
- ~elisp-demos~ was modified to display API demos for Doom's standard library
|
||||
(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!~)
|
||||
+ 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.
|
||||
|
||||
* 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
|
||||
about it.
|
||||
|
||||
* TODO Features
|
||||
# An in-depth list of features, how to use them, and their dependencies.
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||
#+end_quote
|
||||
|
||||
* 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
|
||||
# Common issues and their solution, or places to look for help.
|
||||
* 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,62 @@
|
|||
#+TITLE: lang/erlang
|
||||
#+DATE: January 14, 2020
|
||||
#+SINCE: {replace with next tagged release version}
|
||||
#+STARTUP: inlineimages nofold
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
|
||||
* Description
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang erlang
|
||||
#+SUBTITLE: An elegant language for a more civilized age
|
||||
#+CREATED: January 15, 2020
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Description :unfold:
|
||||
This module provides support [[https://www.erlang.org/][Erlang programming language]]. Support for the
|
||||
[[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
|
||||
This module has no dedicated maintainers.
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ ~+lsp~ Enable LSP Support. Requires [[https://github.com/erlang/sourcer][sourcer]].
|
||||
** Module flags
|
||||
- +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
|
||||
+ Erlang Mode (bundled with Erlang installations)
|
||||
+ [[https://github.com/joedevivo/flycheck-rebar3][flycheck-rebar3]]
|
||||
+ [[https://github.com/s-kostyaev/ivy-erlang-complete][ivy-erlang-complete]]
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
* Prerequisites
|
||||
You should have Erlang installed. Check your distribution's package manager or a
|
||||
version management tool such as [[https://github.com/kerl/kerl][kerl]].
|
||||
** TODO Changelog
|
||||
# This section will be machine generated. Don't edit it by hand.
|
||||
/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
|
||||
- Code completion (~+lsp~, ~:completion company~, and ~:completion ivy~)
|
||||
- Syntax checking (~:checkers syntax~)
|
||||
This module requires Erlang be installed (which includes ~erlang-mode~). Check
|
||||
your distribution's package manager or a version management tool such as [[https://github.com/kerl/kerl][kerl]].
|
||||
|
||||
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,
|
||||
SAS, Julia and Stata.
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[#prequisites][Prequisites]]
|
||||
- [[#appendix][Appendix]]
|
||||
- [[#keybindings][Keybindings]]
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** 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:
|
||||
|
||||
+ [[https://github.com/jimhester/lintr][lintr]]: Enables R linting.
|
||||
+ [[https://github.com/REditorSupport/languageserver][languageserver]]: Enables LSP support in an R buffer (with =+lsp= flag).
|
||||
|
||||
* Appendix
|
||||
** Keybindings
|
||||
*** :map ess-doc-map
|
||||
- [[https://github.com/jimhester/lintr][lintr]]: for R linting.
|
||||
- [[https://github.com/REditorSupport/languageserver][languageserver]]: for LSP support in an R buffer (with [[doom-module:][+lsp]] flag).
|
||||
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
** :map ess-doc-map
|
||||
| key | command |
|
||||
|-----+----------------------------|
|
||||
| "h" | ess-display-help-on-object |
|
||||
| "p" | ess-R-dv-pprint |
|
||||
| "t" | ess-R-dv-ctable |
|
||||
*** :map ess-mode-map
|
||||
|
||||
** :map ess-mode-map
|
||||
| key | command |
|
||||
|--------------+-----------------------|
|
||||
| "<s-return>" | ess-eval-line |
|
||||
| "<up>" | comint-next-input |
|
||||
| "<down>" | comint-previous-input |
|
||||
**** :localleader
|
||||
|
||||
** :localleader
|
||||
| state | key | command |
|
||||
|-------+-------------+---------------------------------------------------|
|
||||
| :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 | "cp" | ess-noweb-previous-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
|
||||
#+DATE: December 3, 2019
|
||||
#+SINCE: v3.0.0
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang factor
|
||||
#+SUBTITLE: ...
|
||||
#+CREATED: December 03, 2019
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#hacks][Hacks]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
|
||||
* Description
|
||||
* Description :unfold:
|
||||
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
|
||||
+ Like code completion, syntax checking or available snippets
|
||||
+ Include links to packages & external things where possible
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
** Plugins
|
||||
{A list of linked plugins}
|
||||
** Packages
|
||||
/This module doesn't install any packages./
|
||||
|
||||
** Hacks
|
||||
{A list of internal modifications to included packages}
|
||||
/No hacks documented for this module./
|
||||
|
||||
* Prerequisites
|
||||
You must install [[https://github.com/factor/factor][factor]] to use the advanced functionality of 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://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
|
||||
=fuel-factor-root-dir=. Here's an example of how to set it:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
~fuel-factor-root-dir~. E.g.
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(setq fuel-factor-root-dir "/Applications/factor")
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
* 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
|
||||
#+DATE: July 23, 2019
|
||||
#+SINCE: v2.1.0
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang faust
|
||||
#+SUBTITLE: DSP, but you can keep your soul
|
||||
#+CREATED: October 14, 2019
|
||||
#+SINCE: 21.12.0 (#1898)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#features][Features]]
|
||||
* Description :unfold:
|
||||
Add support to [[https://faust.grame.fr/][Faust language]] inside emacs.
|
||||
|
||||
* Description
|
||||
Add support to Faust language inside emacs.
|
||||
- Faust code syntax highlighting and indentation
|
||||
- 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
|
||||
+ Project-based (inter-linked Faust files)
|
||||
+ 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
|
||||
** Maintainers
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://bitbucket.org/yphil/faustine][faustine]]
|
||||
** Packages
|
||||
- [[doom-package:][faustine]]
|
||||
|
||||
* Features
|
||||
Keybindings
|
||||
** Hacks
|
||||
- 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 |
|
||||
|-------------------+----------------------|
|
||||
| ~<localleader> b~ | ~build~ |
|
||||
| ~<localleader> c~ | ~syntax check~ |
|
||||
| ~<localleader> d~ | ~diagram~ |
|
||||
| ~<localleader> h~ | ~online dock~ |
|
||||
| ~<localleader> RET~ | ~mdoc~ |
|
||||
| ~<localleader> o~ | ~toggle output buffer~ |
|
||||
| ~<localleader> s~ | ~source code~ |
|
||||
| ~<localleader> r~ | ~run~ |
|
||||
| ~<localleader> S-b~ | ~build all~ |
|
||||
| ~<localleader> S-d~ | ~diagram all~ |
|
||||
| [[kbd:][<localleader> b]] | build |
|
||||
| [[kbd:][<localleader> c]] | syntax check |
|
||||
| [[kbd:][<localleader> d]] | diagram |
|
||||
| [[kbd:][<localleader> h]] | online dock |
|
||||
| [[kbd:][<localleader> RET]] | mdoc |
|
||||
| [[kbd:][<localleader> o]] | toggle output buffer |
|
||||
| [[kbd:][<localleader> s]] | source code |
|
||||
| [[kbd:][<localleader> r]] | run |
|
||||
| [[kbd:][<localleader> S-b]] | build 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
|
||||
#+DATE: May 22, 2019
|
||||
#+SINCE: {replace with next tagged release version}
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang fsharp
|
||||
#+SUBTITLE: ML stands for Microsoft's Language
|
||||
#+CREATED: May 22, 2019
|
||||
#+SINCE: 21.12.0 (#1327)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#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 :unfold:
|
||||
This module adds [[https://fsharp.org/][F#]] support to Doom Emacs.
|
||||
|
||||
* Description
|
||||
# A summary of what this module does.
|
||||
*Includes:*
|
||||
- Code completion
|
||||
- eldoc support
|
||||
- Syntax checking
|
||||
|
||||
# + If possible, include a brief list of feature highlights here
|
||||
# + Like code completion, syntax checking or available snippets
|
||||
# + Include links to packages & external things where possible
|
||||
This module adds [[https://fsharp.org/][F#]] support.
|
||||
+ Code completion
|
||||
+ eldoc support
|
||||
+ Syntax checking
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module flags
|
||||
- +lsp ::
|
||||
Enable LSP support for ~fsharp-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||
(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
|
||||
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
|
||||
To get code completion/syntax checking when not using lsp, you will need to install [[https://www.mono-project.com/][mono]].
|
||||
*** 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
|
||||
#+BEGIN_SRC sh
|
||||
sudo pacman -S mono
|
||||
#+END_SRC
|
||||
#+begin_src sh
|
||||
pacman -S mono
|
||||
#+end_src
|
||||
|
||||
** LSP
|
||||
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
|
||||
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
|
||||
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
|
||||
#+DATE: February 2, 2020
|
||||
#+SINCE: 2.0.10
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang fstar
|
||||
#+SUBTITLE: (Dependent) types and (monadic) effects and Z3
|
||||
#+CREATED: February 02, 2020
|
||||
#+SINCE: 21.12.0 (#2473)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
This module adds [[https://fstar-lang.org/][F*]] support, powered by [[https://github.com/FStarLang/fstar-mode.el][fstar-mode.el]].
|
||||
|
||||
+ Syntax highlighting
|
||||
+ Interactively process F* files one definition at a time
|
||||
+ Query the running F* process to look up definitions, documentation, and
|
||||
- Syntax highlighting
|
||||
- Interactively process F* files one definition at a time
|
||||
- Query the running F* process to look up definitions, documentation, and
|
||||
theorems
|
||||
|
||||
** Maintainers
|
||||
+ [[https://github.com/tchajed][@tchajed]] (Author)
|
||||
- [[doom-user:][@tchajed]]
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/FStarLang/fstar-mode.el][fstar-mode]]
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
* Prerequisites
|
||||
** F*
|
||||
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]].
|
||||
*** macOS
|
||||
#+BEGIN_SRC sh
|
||||
** Packages
|
||||
- [[doom-package:][fstar-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://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
|
||||
#+END_SRC
|
||||
*** Arch Linux
|
||||
Install ~fstar~ from the AUR:
|
||||
#+BEGIN_SRC sh
|
||||
#+end_src
|
||||
|
||||
** Arch Linux
|
||||
~fstar~ is available in the AUR:
|
||||
#+begin_src sh
|
||||
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
|
||||
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.
|
||||
[[doom-report:][Report an issue?]]
|
||||
|
||||
- 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
|
||||
#+DATE: May 27, 2020
|
||||
#+SINCE: v2.0.9
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang gdscript
|
||||
#+SUBTITLE: the language you waited for
|
||||
#+CREATED: June 01, 2020
|
||||
#+SINCE: 21.12.0 (#3239)
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#appendix][Appendix]]
|
||||
- [[#commands][Commands]]
|
||||
|
||||
* Description
|
||||
* Description :unfold:
|
||||
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]].
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables LSP support for gdscript-mode. This requires the =:tools lsp=
|
||||
module to be enabled and you need to open your project in Godot ~3.2.1~ or
|
||||
above to run the language server.
|
||||
** Maintainers
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
This module provides no plugins.
|
||||
** Module flags
|
||||
- +lsp ::
|
||||
Enable LSP support for ~gdscript-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||
(Godot ~3.2.1~ or newer).
|
||||
|
||||
* Prerequisites
|
||||
To format your GDScript code, you need to install [[https://github.com/Scony/godot-gdscript-toolkit/][gdtoolkit]]:
|
||||
** Packages
|
||||
- [[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
|
||||
pip install gdtoolkit
|
||||
|
||||
# On MacOS and Linux
|
||||
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
|
||||
you have the ~lsp~ module installed, you should be able to use the language
|
||||
server.
|
||||
you have [[doom-module:][+lsp]] and [[doom-module:][:tools lsp]] enabled, and Godot 3.2.1+ installed, it should work
|
||||
out of the box.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
#+DATE: January 16, 2017
|
||||
#+SINCE: v2.0
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang go
|
||||
#+SUBTITLE: The hipster dialect
|
||||
#+CREATED: June 15, 2015
|
||||
#+SINCE: 0.7
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#go][Go]]
|
||||
- [[#dependencies][Dependencies]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
|
||||
* Description
|
||||
* Description :unfold:
|
||||
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]].
|
||||
|
||||
+ Code completion (~gocode~)
|
||||
+ Documentation lookup (~godoc~)
|
||||
+ Eldoc support (~go-eldoc~)
|
||||
+ REPL (~gore~)
|
||||
+ Syntax-checking (~flycheck~)
|
||||
+ Auto-formatting on save (~gofmt~) (requires =:editor (format +onsave)=)
|
||||
+ Code navigation & refactoring (~go-guru~)
|
||||
+ [[../../editor/file-templates/templates/go-mode][File templates]]
|
||||
+ [[https://github.com/hlissner/doom-snippets/tree/master/go-mode][Snippets]]
|
||||
+ Generate testing code (~go-gen-test~)
|
||||
+ Code checking (~flycheck-golangci-lint~)
|
||||
- Code completion (~gocode~)
|
||||
- Documentation lookup (~godoc~)
|
||||
- Eldoc support (~go-eldoc~)
|
||||
- REPL (~gore~)
|
||||
- Syntax-checking (~flycheck~)
|
||||
- Auto-formatting on save (~gofmt~) (requires [[doom-module:][:editor format +onsave]])
|
||||
- Code navigation & refactoring (~go-guru~)
|
||||
- [[../../editor/file-templates/templates/go-mode][File templates]]
|
||||
- [[https://github.com/hlissner/doom-snippets/tree/master/go-mode][Snippets]]
|
||||
- Generate testing code (~go-gen-test~)
|
||||
- Code checking (~flycheck-golangci-lint~)
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables integration for the gopls LSP server. It is highly recommended
|
||||
you use this, as the non-LSP experience is deprecated (and poor).
|
||||
** Maintainers
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/dominikh/go-mode.el][go-mode]]
|
||||
+ [[https://github.com/syohex/emacs-go-eldoc][go-eldoc]]
|
||||
+ [[https://github.com/dominikh/go-mode.el][go-guru]]
|
||||
+ [[https://github.com/manute/gorepl-mode][gorepl-mode]]
|
||||
+ [[https://github.com/brantou/emacs-go-tag][go-tag]]
|
||||
+ [[https://github.com/mdempsky/gocode][company-go]]* =DEPRECATED=
|
||||
+ [[https://github.com/s-kostyaev/go-gen-test][go-gen-test]]
|
||||
+ [[https://github.com/weijiangan/flycheck-golangci-lint][flycheck-golangci-lint]] (if =:checkers syntax= is enabled)
|
||||
** Module flags
|
||||
- +lsp ::
|
||||
Enable LSP support for ~go-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||
(supports gopls). Highly recommended, as the non-LSP experience is deprecated
|
||||
(and poor).
|
||||
|
||||
** Packages
|
||||
- [[doom-package:][company-go]] if [[doom-module:][:completion company]] (DEPRECATED)
|
||||
- [[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
|
||||
To get started with Go, you need the ~go~ tool:
|
||||
|
||||
*** MacOS
|
||||
#+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
|
||||
- macOS: ~$ brew install go~
|
||||
- Arch Linux: ~$ pacman -S go~
|
||||
- openSUSE: ~$ zypper install go~
|
||||
|
||||
** 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)
|
||||
+ ~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
|
||||
#+begin_src sh
|
||||
export GOPATH=~/work/go
|
||||
|
||||
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 github.com/cweill/gotests/gotests@latest
|
||||
go install github.com/fatih/gomodifytags@latest
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
+ ~golangci-lint~ (optional: for flycheck to integrate golangci-lint results)
|
||||
it is recommended to *not* use ~go get~ to install this one, check the
|
||||
- ~golangci-lint~ (optional: for flycheck to integrate golangci-lint results) it
|
||||
is recommended to *not* use ~$ go get~ to install this one, check the
|
||||
[[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
|
||||
#+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
|
||||
#+DATE: January 16, 2017
|
||||
#+SINCE: v0.7
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang haskell
|
||||
#+SUBTITLE: A language that's lazier than I am
|
||||
#+CREATED: March 29, 2016
|
||||
#+SINCE: 0.9
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
|
||||
* Description
|
||||
Adds Haskell support to Doom Emacs.
|
||||
* Description :unfold:
|
||||
This module adds Haskell support to Doom Emacs.
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enable LSP support with for [[https://github.com/haskell/haskell-language-server][haskell-language-server]] (requires the =:tools lsp= module).
|
||||
** Module flags
|
||||
- +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
|
||||
+ [[https://github.com/haskell/haskell-mode][haskell-mode]]
|
||||
+ [[https://github.com/emacs-lsp/lsp-haskell][lsp-haskell]] (=+lsp=, =:tools lsp=)
|
||||
** Packages
|
||||
- [[doom-package:][haskell-mode]]
|
||||
- [[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
|
||||
for basic functionality:
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
#+begin_src sh
|
||||
ghcup install ghc
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
but =+lsp= users should also install the language server:
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
#+begin_src sh
|
||||
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
|
||||
=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]],
|
||||
which can be installed through system package manager, cabal, or stack.
|
||||
|
||||
* Features
|
||||
This module intergrates the haskell packages into Doom by providing things such
|
||||
as repl support, project root recognition, etc. It also provide the following
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /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:
|
||||
|
||||
| Keybinding | Description |
|
||||
|-------------------+-----------------------------------------------|
|
||||
| =<localleader> b= | Build the current cabal project |
|
||||
| =<localleader> c= | Visit the =.cabal= file of the current buffer |
|
||||
| =<localleader> h= | Toggle visibility of the form at point |
|
||||
| =<localleader> H= | hides all top level functions |
|
||||
| Keybinding | Description |
|
||||
|-----------------+-----------------------------------------------|
|
||||
| [[kbd:][<localleader> b]] | Build the current cabal project |
|
||||
| [[kbd:][<localleader> c]] | Visit the =.cabal= file of the current buffer |
|
||||
| [[kbd:][<localleader> h]] | Toggle visibility of the form at point |
|
||||
| [[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
|
||||
=lsp-haskell-formatting-provider= to it.
|
||||
|
||||
Make sure to configure the lsp to use your perfered formatter, e.g.:
|
||||
#+BEGIN_SRC elisp
|
||||
#+begin_src emacs-lisp
|
||||
;; ~/.doom.d/config.el
|
||||
(after!
|
||||
(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
|
||||
#+DATE: October 6, 2020
|
||||
#+SINCE: v2.0.9
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang idris
|
||||
#+SUBTITLE: A language you can depend on
|
||||
#+CREATED: August 21, 2018
|
||||
#+SINCE: 21.12.0 (#822)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
* Description :unfold:
|
||||
This module adds rudimentary [[https://www.idris-lang.org/][Idris]] support to Doom Emacs.
|
||||
|
||||
* Description
|
||||
This module adds rudimentary Idris support.
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
** Plugins
|
||||
# A list of linked plugins
|
||||
+ [[https://github.com/idris-hackers/idris-mode/][idris-mode]]
|
||||
** Packages
|
||||
- [[doom-package:][idris-mode]]
|
||||
|
||||
* Prerequisites
|
||||
This module has no prerequisites.
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
* Features
|
||||
In addition to =idris-mode= goodness, adds frequently used functions under the localleader key.
|
||||
** 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'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
|
||||
#+DATE: January 16, 2017
|
||||
#+SINCE: v1.3
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang java
|
||||
#+SUBTITLE: The poster child for carpal tunnel syndrome
|
||||
#+CREATED: January 16, 2017
|
||||
#+SINCE: 1.3
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#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 :unfold:
|
||||
This module adds [[https://www.java.com][Java]] support to Doom Emacs, including ~android-mode~ and
|
||||
~groovy-mode~.
|
||||
|
||||
* Description
|
||||
This module adds [[https://www.java.com][java]] support to Doom Emacs, including =android-mode= and
|
||||
=groovy-mode=.
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables integration for the eclipse.jdt.ls LSP server.
|
||||
+ =+meghanada= Enables the [[https://github.com/mopemope/meghanada-emacs/tree/master][meghanada-mode]]
|
||||
** Module flags
|
||||
- +lsp ::
|
||||
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
|
||||
together. At the time of writing the =+meghanada= is already configured whereas
|
||||
=+lsp= needs to manual configuring.
|
||||
** Packages
|
||||
- [[doom-package:][android-mode]]
|
||||
- [[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
|
||||
provides =dap-mode= which contains the Java test runner.
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
* Prerequisites
|
||||
This module requires the Java SDK.
|
||||
** 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.oracle.com/java/technologies/downloads/][Java SDK]]
|
||||
- The LSP test runner requires [[doom-module:][:tools debugger +lsp]] (requires [[doom-package:][dap-mode]])
|
||||
|
||||
** OpenJDK 11
|
||||
*** Ubuntu
|
||||
#+BEGIN_SRC sh
|
||||
sudo apt-get install openjdk-11-jdk-headless
|
||||
#+END_SRC
|
||||
#+begin-src sh
|
||||
apt-get install openjdk-11-jdk-headless
|
||||
#+end_src
|
||||
|
||||
*** Fedora
|
||||
#+BEGIN_SRC sh
|
||||
sudo dnf install java-11-openjdk
|
||||
#+END_SRC
|
||||
#+begin_src sh
|
||||
dnf install java-11-openjdk
|
||||
#+end_src
|
||||
|
||||
** Oracle JDK 11
|
||||
*** Ubuntu
|
||||
#+BEGIN_SRC sh
|
||||
sudo add-apt-repository ppa:linuxuprising/java
|
||||
sudo apt update
|
||||
sudo apt install oracle-java11-installer
|
||||
sudo apt install oracle-java11-set-default
|
||||
#+END_SRC
|
||||
#+begin_src sh
|
||||
add-apt-repository ppa:linuxuprising/java
|
||||
apt update
|
||||
apt install oracle-java11-installer
|
||||
apt install oracle-java11-set-default
|
||||
#+end_src
|
||||
|
||||
*** 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
|
||||
tar zxvf openjdk-11.0.2_linux-x64_bin.tar.gz
|
||||
sudo mv jdk-11.0.2/ /usr/local/
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
Open =/etc/profile.d/jdk11.sh= as root and add
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
Open =/etc/profile.d/jdk11.sh= as root and add:
|
||||
#+begin_src sh
|
||||
export JAVA_HOME=/usr/local/jdk-11.0.2
|
||||
export PATH=$PATH:$JAVA_HOME/bin
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
Save the file and source the file
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
Save the file and source it:
|
||||
#+begin_src sh
|
||||
source /etc/profile.d/jdk11.sh
|
||||
java -version
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** Multiple Java Versions
|
||||
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.
|
||||
|
||||
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
|
||||
Java version for a particular project, create a =.envrc= pointing to the Java
|
||||
installation in the root of the project:
|
||||
|
||||
#+BEGIN_SRC conf-unix
|
||||
To have a different version of Java per-project, it is recommended you use
|
||||
[[https://github.com/direnv/direnv][direnv]] and [[doom-module:][:tools direnv]]; create a =.envrc= in the root of the project pointing
|
||||
to the Java installation:
|
||||
#+begin_src sh
|
||||
PATH_add ~/.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
|
||||
is enabled, then Doom will automatically source this environment before
|
||||
executing the LSP server.
|
||||
And then run ~$ direnv allow .~ in the project directory. The [[doom-module:][:tools direnv]]
|
||||
module will automatically source this environment before activating LSP servers.
|
||||
|
||||
* Features
|
||||
** =+lsp= features
|
||||
According to [[https://github.com/emacs-lsp/lsp-java]] it adds
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /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]])
|
||||
+ Code completion - using [[https://github.com/tigersoldier/company-lsp][company-lsp]] or builtin complete-at-point
|
||||
+ Javadoc hovers - using [[https://github.com/emacs-lsp/lsp-ui][lsp-ui]]
|
||||
+ Code actions - using [[https://github.com/emacs-lsp/lsp-ui][lsp-ui]]
|
||||
+ Code outline - using builtin [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Imenu.html][imenu]]
|
||||
+ Code navigation - using builtin [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Xref.html][xref]]
|
||||
+ Code lens (references/implementations) - using builtin [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Xref.html][xref]]
|
||||
+ Highlights
|
||||
+ Code formatting
|
||||
+ Maven pom.xml project support
|
||||
+ Limited Gradle support
|
||||
+ Visual debugger - [[https://github.com/yyoncho/dap-mode/][dap-mode]]
|
||||
+ Test runner - [[https://github.com/yyoncho/dap-mode/][dap-mode]]
|
||||
+ Project explorer integration - [[https://github.com/Alexander-Miller/treemacs][treemacs]]
|
||||
+ Integration with [[https://start.spring.io/][Spring Initializr]]
|
||||
** [[doom-module:][+lsp]] features
|
||||
According to [[https://github.com/emacs-lsp/lsp-java]], you get:
|
||||
- As you type reporting of parsing and compilation errors (via [[doom-package:][flycheck]] or
|
||||
[[doom-package:][lsp-ui]])
|
||||
- Code completion ([[doom-package:][company-lsp]] or complete-at-point)
|
||||
- Javadoc hovers ([[doom-package:][lsp-ui]])
|
||||
- Code actions ([[doom-package:][lsp-ui]])
|
||||
- Code outline ([[doom-package:][imenu]])
|
||||
- Code navigation ([[doom-package:][xref]])
|
||||
- Code lens for references/implementations ([[doom-package:][xref]])
|
||||
- Highlights
|
||||
- Code formatting
|
||||
- Maven pom.xml project support
|
||||
- Limited Gradle support
|
||||
- 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
|
||||
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
|
||||
+ [[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 (=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
|
||||
* TODO Configuration
|
||||
#+begin_quote
|
||||
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
* Configuration
|
||||
** =+lsp=
|
||||
Install the eclipse server by executing =M-x lsp-install-server= and selecting
|
||||
** [[doom-module:][+lsp]]
|
||||
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
|
||||
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
|
||||
install it again. You can do this with =M-x +lsp/uninstall-server= followed by
|
||||
=M-x lsp-install-server=.
|
||||
install it again. You can do this with ~M-x +lsp/uninstall-server~ followed by
|
||||
~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
|
||||
#+DATE: January 16, 2017
|
||||
#+SINCE: v2.0
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang javascript
|
||||
#+SUBTITLE: all(hope(abandon(ye(who(enter(here))))))
|
||||
#+CREATED: January 16, 2017
|
||||
#+SINCE: 1.3
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[#description][Description]]
|
||||
- [[#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 :unfold:
|
||||
This module adds [[https://www.javascript.com/][JavaScript]] and [[https://www.typescriptlang.org/][TypeScript]] support to Doom Emacs.
|
||||
|
||||
* Description
|
||||
This module adds JavaScript and TypeScript support.
|
||||
- Code completion ([[doom-package:][tide]])
|
||||
- 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)
|
||||
+ REPL support (nodejs-repl)
|
||||
+ Refactoring commands (js2-refactor)
|
||||
+ Syntax checking (flycheck)
|
||||
+ Browser code injection with skewer-mode
|
||||
+ Coffeescript & JSX support
|
||||
+ Jump-to-definitions and references support (xref)
|
||||
** Maintainers
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables LangServer support for this module. You must have =:tools lsp=
|
||||
enabled for this to work, as well as the langserver (e.g.
|
||||
typescript-language-server) installed on your system.
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module flags
|
||||
- +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
|
||||
+ [[https://github.com/defunkt/coffee-mode][coffee-mode]]
|
||||
+ [[https://github.com/mooz/js2-mode][js2-mode]]
|
||||
+ [[https://github.com/felipeochoa/rjsx-mode][rjsx-mode]]
|
||||
+ [[https://github.com/emacs-typescript/typescript.el][typescript-mode]]
|
||||
+ [[https://github.com/magnars/js2-refactor.el][js2-refactor]]
|
||||
+ [[https://github.com/mojochao/npm-mode][npm-mode]]
|
||||
+ [[https://github.com/abicky/nodejs-repl.el][nodejs-repl]]
|
||||
+ [[https://github.com/skeeto/skewer-mode][skewer-mode]]
|
||||
+ [[https://github.com/ananthakumaran/tide][tide]]
|
||||
+ [[https://github.com/NicolasPetton/xref-js2][xref-js2]]*
|
||||
- [[doom-package:][js2-refactor]]
|
||||
- [[doom-package:][nodejs-repl]]
|
||||
- [[doom-package:][npm-mode]]
|
||||
- [[doom-package:][rjsx-mode]]
|
||||
- [[doom-package:][skewer-mode]] (DEPRECATED)
|
||||
- [[doom-package:][tide]]
|
||||
- [[doom-package:][typescript-mode]]
|
||||
- [[doom-package:][xref-js2]] if [[doom-module:][:tools lookup]]
|
||||
|
||||
* Prerequisites
|
||||
Many of this modules' plugins require ~node~ and either ~npm~ or ~yarn~
|
||||
installed.
|
||||
** TODO Hacks
|
||||
#+begin_quote
|
||||
🔨 This module's hacks haven't been documented yet. [[doom-contrib-module:][Document them?]]
|
||||
#+end_quote
|
||||
|
||||
** MacOS
|
||||
#+BEGIN_SRC sh :tangle (if (doom-system-os 'macos) "yes")
|
||||
brew install node
|
||||
#+END_SRC
|
||||
** TODO Changelog
|
||||
# This section will be machine generated. Don't edit it by hand.
|
||||
/This module does not have a changelog yet./
|
||||
|
||||
** Arch Linux
|
||||
#+BEGIN_SRC sh :dir /sudo:: :tangle (if (doom-system-os 'arch) "yes")
|
||||
sudo pacman --needed --noconfirm -S nodejs npm
|
||||
#+END_SRC
|
||||
* Installation
|
||||
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||
|
||||
** openSUSE
|
||||
#+BEGIN_SRC sh :dir /sudo::
|
||||
sudo zypper install nodejs npm
|
||||
#+END_SRC
|
||||
This module requires [[https://nodejs.org/en/][NodeJS]] and one of [[https://www.npmjs.com/][NPM]] or [[https://yarnpkg.com/][Yarn]] in your =$PATH=.
|
||||
|
||||
* Troubleshooting
|
||||
** ~tide-sort-completions-by-kind~ isn't respected
|
||||
The =:completion company= module uses =company-prescient= to sort completion by
|
||||
[[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~).
|
||||
- MacOS: ~$ brew install node~
|
||||
- Arch Linux: ~$ pacman --needed --noconfirm -S nodejs npm~
|
||||
- openSUSE: ~$ zypper install nodejs npm~
|
||||
|
||||
* 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
|
||||
*** JS2-mode
|
||||
*** rjsx-mode
|
||||
| command | key / ex command | description |
|
||||
|----------------------------------+------------------+------------------------------------------------------------|
|
||||
| ~+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/open-repl~ | ~:repl~ | Open the NodeJS REPL (or send the current selection to it) |
|
||||
| ~+javascript/skewer-this-buffer~ | [[kbd:][<localleader> S]] | Attaches a browser to the current buffer |
|
||||
|
||||
*** Tide
|
||||
| command | key / ex command | description |
|
||||
|-------------------------+------------------+------------------------|
|
||||
| ~tide-restart-server~ | =SPC m R= | Restart tide server |
|
||||
| ~tide-reformat~ | =SPC m f= | Reformat region |
|
||||
| ~tide-rename-symbol~ | =SPC m r r s= | Rename symbol at point |
|
||||
| ~tide-organize-imports~ | =SPC m r o i= | Organize imports |
|
||||
| command | key / ex command | description |
|
||||
|-------------------------+---------------------+------------------------|
|
||||
| ~tide-restart-server~ | [[kbd:][<localleader> R]] | Restart tide server |
|
||||
| ~tide-reformat~ | [[kbd:][<localleader> f]] | Reformat region |
|
||||
| ~tide-rename-symbol~ | [[kbd:][<localleader> r r s]] | Rename symbol at point |
|
||||
| ~tide-organize-imports~ | [[kbd:][<localleader> r o i]] | Organize imports |
|
||||
|
||||
*** Refactoring (js2-refactor-mode)
|
||||
| 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-contract-node-at-point~ | =SPC m 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-method~ | =SPC m 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-arrow-function-and-expression~ | =SPC m 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-introduce-parameter~ | =SPC m 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-wrap-buffer-in-iife~ | =SPC m 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-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-extract-var~ | =SPC m 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-const~ | =SPC m 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-rename-var~ | =SPC m 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-arguments-to-object~ | =SPC m 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-split-var-declaration~ | =SPC m 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-string-to-template~ | =SPC m 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-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-debug-this~ | =SPC m 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-barf~ | =SPC m 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. |
|
||||
| command | key / ex command | description |
|
||||
|---------------------------------------------------+---------------------+--------------------------------------------------------------------------------------------------------------------|
|
||||
| ~js2r-expand-node-at-point~ | [[kbd:][<localleader> r e e]] | Expand 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~ | [[kbd:][<localleader> r e f]] | Extracts the marked expressions out into a new named function. |
|
||||
| ~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~ | [[kbd:][<localleader> r t f]] | Toggle between function name() {} and var name = function (); |
|
||||
| ~js2r-toggle-arrow-function-and-expression~ | [[kbd:][<localleader> r t a]] | Toggle between function expression to arrow function. |
|
||||
| ~js2r-toggle-function-async~ | [[kbd:][<localleader> r t s]] | Toggle between an async and a regular function. |
|
||||
| ~js2r-introduce-parameter~ | [[kbd:][<localleader> r i p]] | Changes the marked expression to a parameter 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~ | [[kbd:][<localleader> r w i]] | Wraps the entire buffer in an 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~ | [[kbd:][<localleader> r a g]] | Creates a /*global */ annotation if it is missing, and adds the var at point to it. |
|
||||
| ~js2r-extract-var~ | [[kbd:][<localleader> r e v]] | Takes a marked expression and replaces it with a var. |
|
||||
| ~js2r-extract-let~ | [[kbd:][<localleader> r e l]] | Similar to extract-var but uses a let-statement. |
|
||||
| ~js2r-extract-const~ | [[kbd:][<localleader> r e c]] | Similar to extract-var but uses a const-statement. |
|
||||
| ~js2r-inline-var~ | [[kbd:][<localleader> r i v]] | Replaces all instances of a variable with its initial value. |
|
||||
| ~js2r-rename-var~ | [[kbd:][<localleader> r r v]] | Renames the variable on point and all occurrences in its lexical scope. |
|
||||
| ~js2r-var-to-this~ | [[kbd:][<localleader> r v t]] | Changes local var a to be this.a instead. |
|
||||
| ~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~ | [[kbd:][<localleader> r 3 i]] | Converts ternary operator to if-statement. |
|
||||
| ~js2r-split-var-declaration~ | [[kbd:][<localleader> r s v]] | Splits a var with multiple vars declared, into several var statements. |
|
||||
| ~js2r-split-string~ | [[kbd:][<localleader> r s s]] | Splits a string. |
|
||||
| ~js2r-string-to-template~ | [[kbd:][<localleader> r s t]] | Converts a string into a template string. |
|
||||
| ~js2r-unwrap~ | [[kbd:][<localleader> r u w]] | Replaces the parent statement with the selected region. |
|
||||
| ~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~ | [[kbd:][<localleader> r d t]] | Adds a debug() statement for what is at point (or region). |
|
||||
| ~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~ | [[kbd:][<localleader> r b a]] | Moves the last child out of current function, if-statement, for-loop or while-loop. |
|
||||
| ~js2r-kill~ | [[kbd:][<localleader> r k]] | Kills to the end of the line, but does not cross semantic boundaries. |
|
||||
|
||||
*** skewer-mode
|
||||
**** general
|
||||
| command | key / ex command | description |
|
||||
|-------------------------------+------------------+---------------------------------------|
|
||||
| ~skewer-eval-last-expression~ | =SPC m s E= | Evaluate last expression |
|
||||
| ~skewer-eval-defun~ | =SPC m s e= | Evaluate function definition at point |
|
||||
| ~skewer-load-buffer~ | =SPC m s f= | Load buffer into REPL |
|
||||
| command | key / ex command | description |
|
||||
|-------------------------------+-------------------+---------------------------------------|
|
||||
| ~skewer-eval-last-expression~ | [[kbd:][<localleader> s E]] | Evaluate last expression |
|
||||
| ~skewer-eval-defun~ | [[kbd:][<localleader> s e]] | Evaluate function definition at point |
|
||||
| ~skewer-load-buffer~ | [[kbd:][<localleader> s f]] | Load buffer into REPL |
|
||||
|
||||
**** css
|
||||
| command | key / ex command | description |
|
||||
|---------------------------------------+------------------+-------------------------------|
|
||||
| ~skewer-css-eval-current-declaration~ | =SPC m s e= | Evaluate declaration at point |
|
||||
| ~skewer-css-eval-current-rule~ | =SPC m s r= | Evaluate rule at point |
|
||||
| ~skewer-css-eval-buffer~ | =SPC m s b= | Evaluate buffer |
|
||||
| ~skewer-css-clear-all~ | =SPC m s c= | Clear all rules |
|
||||
| command | key / ex command | description |
|
||||
|---------------------------------------+-------------------+-------------------------------|
|
||||
| ~skewer-css-eval-current-declaration~ | [[kbd:][<localleader> s e]] | Evaluate declaration at point |
|
||||
| ~skewer-css-eval-current-rule~ | [[kbd:][<localleader> s r]] | Evaluate rule at point |
|
||||
| ~skewer-css-eval-buffer~ | [[kbd:][<localleader> s b]] | Evaluate buffer |
|
||||
| ~skewer-css-clear-all~ | [[kbd:][<localleader> s c]] | Clear all rules |
|
||||
|
||||
**** html
|
||||
| command | key / ex command | description |
|
||||
|------------------------+------------------+-----------------------|
|
||||
| ~skewer-html-eval-tag~ | =SPC m s e= | Evaluate tag at point |
|
||||
| command | key / ex command | description |
|
||||
|------------------------+-------------------+-----------------------|
|
||||
| ~skewer-html-eval-tag~ | [[kbd:][<localleader> s e]] | Evaluate tag at point |
|
||||
|
||||
*** npm-mode
|
||||
| command | key / ex command | description |
|
||||
|---------------------------------+------------------+------------------------------------------------------------------|
|
||||
| ~npm-mode-npm-init~ | =SPC m n n= | Initialize npm project |
|
||||
| ~npm-mode-npm-install~ | =SPC m 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-dev~ | =SPC m 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-list~ | =SPC m n l= | List npm packages |
|
||||
| ~npm-mode-npm-run~ | =SPC m n r= | Run npm task |
|
||||
| ~npm-mode-visit-project-file~ | =SPC m n v= | Find file in npm project |
|
||||
| command | key / ex command | description |
|
||||
|---------------------------------+-------------------+------------------------------------------------------------------|
|
||||
| ~npm-mode-npm-init~ | [[kbd:][<localleader> n n]] | Initialize npm project |
|
||||
| ~npm-mode-npm-install~ | [[kbd:][<localleader> n i]] | Install npm package |
|
||||
| ~npm-mode-npm-install-save~ | [[kbd:][<localleader> n s]] | Install npm package and save to package.json |
|
||||
| ~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~ | [[kbd:][<localleader> n u]] | Uninstall npm package |
|
||||
| ~npm-mode-npm-list~ | [[kbd:][<localleader> n l]] | List npm packages |
|
||||
| ~npm-mode-npm-run~ | [[kbd:][<localleader> n r]] | Run npm task |
|
||||
| ~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
|
||||
#+DATE: April 23, 2020
|
||||
#+SINCE: v3.0.0
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang json
|
||||
#+SUBTITLE: At least it ain't XML
|
||||
#+CREATED: April 23, 2020
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
|
||||
* Description
|
||||
This module provides JSON support.
|
||||
* Description :unfold:
|
||||
This module adds [[https://www.json.org/json-en.html][JSON]] support to Doom Emacs.
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enable integration with LSP servers, if one is available. Requires the
|
||||
=:tools lsp= module to be enabled.
|
||||
** Module flags
|
||||
- +lsp ::
|
||||
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
|
||||
+ [[https://github.com/joshwnj/json-mode][json-mode]]
|
||||
+ [[https://github.com/Sterlingg/json-snatcher][json-snatcher]]
|
||||
** Packages
|
||||
- [[doom-package:][counsel-jq]] if [[doom-module:][:completion ivy]]
|
||||
- [[doom-package:][json-mode]]
|
||||
- [[doom-package:][json-snatcher]]
|
||||
|
||||
* Prerequisites
|
||||
This module has no prerequisites.
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
* TODO Features
|
||||
# An in-depth list of features, how to use them, and their dependencies.
|
||||
** 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
|
||||
# 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
|
||||
# Common issues and their solution, or places to look for help.
|
||||
* 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,109 +1,129 @@
|
|||
#+TITLE: lang/julia
|
||||
#+DATE: April 8, 2020
|
||||
#+SINCE: v1.3
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang julia
|
||||
#+SUBTITLE: A better, faster MATLAB
|
||||
#+CREATED: April 08, 2020
|
||||
#+SINCE: 1.3
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
This module adds support for [[https://julialang.org/][the Julia language]] to Doom Emacs.
|
||||
|
||||
+ Syntax highlighting and latex symbols from ~julia-mode~
|
||||
+ REPL integration from ~julia-repl~
|
||||
+ Code completion and syntax checking, requires ~:tools lsp~ and ~+lsp~
|
||||
- Syntax highlighting and latex symbols from [[doom-package:][julia-mode]]
|
||||
- REPL integration from [[doom-package:][julia-repl]]
|
||||
- Code completion and syntax checking, requires [[doom-module:][:tools lsp]] and [[doom-module:][+lsp]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enable LSP server support.
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/JuliaEditorSupport/julia-emacs/][julia-mode]]
|
||||
+ [[https://github.com/tpapp/julia-repl][julia-repl]]
|
||||
+ =+lsp= and =:tools lsp=
|
||||
+ [[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]]
|
||||
** Module flags
|
||||
- +lsp ::
|
||||
Enable LSP support for ~julia-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||
(supports LanguageServer.jl).
|
||||
|
||||
* Prerequisites
|
||||
This module requires =julia= and an language server if =+lsp= is enabled.
|
||||
** Packages
|
||||
- [[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
|
||||
~+lsp~ requires ~LanguageServer.jl~ and ~SymbolServer.jl~. The =lsp-julia= and
|
||||
=eglot-jl= packages both come bundled with their own versions of these servers,
|
||||
[[doom-module:][+lsp]] requires ~LanguageServer.jl~ and ~SymbolServer.jl~. The [[doom-package:][lsp-julia]] and
|
||||
[[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
|
||||
necessary.
|
||||
|
||||
However, to use your own installation you will need to install then configure
|
||||
them. To install them, execute these commands in a Julia REPL:
|
||||
|
||||
#+BEGIN_SRC julia
|
||||
#+begin_src julia
|
||||
using Pkg
|
||||
Pkg.add("LanguageServer")
|
||||
Pkg.add("SymbolServer")
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
Then configure =lsp-julia= or =eglot-jl= depending on whether you have enabled
|
||||
=:tools lsp= or =:tools (lsp +eglot)=, respectively:
|
||||
Then configure [[doom-package:][lsp-julia]] or [[doom-package:][eglot-jl]] depending on whether you have enabled
|
||||
[[doom-module:][:tools lsp]] or [[doom-module:][:tools lsp +eglot]], respectively:
|
||||
|
||||
*** ~lsp-julia~
|
||||
To instruct =lsp-julia= not to use the built-in package:
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
;; ~/.doom.d/config.el
|
||||
*** =lsp-julia=
|
||||
To instruct [[doom-package:][lsp-julia]] not to use the built-in package:
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(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
|
||||
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
|
||||
(setq lsp-julia-default-environment "~/.julia/environments/v1.0")
|
||||
#+END_SRC
|
||||
|
||||
*** ~eglot-jl~
|
||||
To find your installation of ~LanguageServer.jl~, ~eglot-jl~ must know the
|
||||
*** =eglot-jl=
|
||||
To find your installation of ~LanguageServer.jl~, [[doom-package:][eglot-jl]] must know the
|
||||
environment in which it is installed. This is set to v1.0 by default as it is
|
||||
the current LTS:
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
;; ~/.doom.d/config.el
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(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:
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
;; ~/.doom.d/config.el
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(after! eglot-jl
|
||||
(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
|
||||
~+lsp~ adds code completion, syntax checking, formatting and other ~lsp-mode~ or
|
||||
~eglot~ features. It requires ~LanguageServer.jl~, the installation of which is
|
||||
[[doom-module:][+lsp]] adds code completion, syntax checking, formatting and other [[doom-package:][lsp-mode]] or
|
||||
[[doom-package:][eglot]] features. It requires ~LanguageServer.jl~, the installation of which is
|
||||
described above.
|
||||
|
||||
* Configuration
|
||||
** Change the default environment for the Julia language server
|
||||
~lsp-julia~ requires a variable be set for the Julia environment. This is set to
|
||||
v1.0 by default as it is the current LTS.
|
||||
* TODO Configuration
|
||||
#+begin_quote
|
||||
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
;; ~/.doom.d/config.el
|
||||
(setq lsp-julia-default-environment "~/.julia/environments/v1.0")
|
||||
#+END_SRC
|
||||
** Change the default environment for the Julia language server
|
||||
[[doom-package:][lsp-julia]] requires a variable be set for the Julia environment. This is set to
|
||||
v1.0 by default as it is 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
|
||||
|
||||
* 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
|
||||
#+DATE: March 28, 2019
|
||||
#+SINCE: v3.0.0
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang kotlin
|
||||
#+SUBTITLE: A Java(Script) that won't depress you
|
||||
#+CREATED: March 28, 2019
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
* Description :unfold:
|
||||
This module adds [[https://kotlinlang.org/][Kotlin]] support to Doom Emacs.
|
||||
|
||||
* Description
|
||||
This module adds Kotlin support to Emacs.
|
||||
** Maintainers
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables integration with [[https://github.com/emacs-lsp/lsp-mode][kotlin-language-server]]. This requires the
|
||||
=:tools lsp= module.
|
||||
** Module flags
|
||||
- +lsp ::
|
||||
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
|
||||
+ kotlin-mode
|
||||
+ flycheck-kotlin
|
||||
** Packages
|
||||
- [[doom-package:][flycheck-kotlin]] if [[doom-module:][:checkers syntax]]
|
||||
- [[doom-package:][kotlin-mode]]
|
||||
|
||||
* Prerequisites
|
||||
TODO
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
* Features
|
||||
TODO
|
||||
** TODO Changelog
|
||||
# This section will be machine generated. Don't edit it by hand.
|
||||
/This module does not have a changelog yet./
|
||||
|
||||
* Configuration
|
||||
TODO
|
||||
* 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
|
||||
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
|
||||
#+DATE: January 16, 2017
|
||||
#+SINCE: v1.3
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang latex
|
||||
#+SUBTITLE: Writing papers in Emacs has never been so fun
|
||||
#+CREATED: January 16, 2017
|
||||
#+SINCE: 1.3
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
Provide a helping hand when working with LaTeX documents.
|
||||
|
||||
+ Sane defaults
|
||||
+ Fontification of many popular commands
|
||||
+ Pretty indentation of wrapped lines using the ~adaptive-wrap~ package
|
||||
+ Spell checking with ~flycheck~
|
||||
+ Change PDF viewer to Okular or ~latex-preview-pane~
|
||||
+ Bibtex editor
|
||||
+ Autocompletion using ~company-mode~
|
||||
+ Compile your .tex code only once using LatexMk
|
||||
- Sane defaults
|
||||
- Fontification of many popular commands
|
||||
- Pretty indentation of wrapped lines using the [[doom-package:][adaptive-wrap]] package
|
||||
- Spell checking with [[doom-package:][flycheck]]
|
||||
- Change PDF viewer to Okular or [[doom-package:][latex-preview-pane]]
|
||||
- Bibtex editor
|
||||
- Autocompletion using [[doom-package:][company-mode]]
|
||||
- Compile your =.tex= code only once using LatexMk
|
||||
|
||||
** Module Flags
|
||||
+ =+latexmk= Use LatexMk instead of LaTeX to compile documents.
|
||||
+ =+cdlatex= Enable [[https://github.com/cdominik/cdlatex][cdlatex]] for fast math insertion.
|
||||
+ =+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.
|
||||
** Maintainers
|
||||
- [[doom-user:][@tecosaur]]
|
||||
- [[doom-user:][@ymarco]]
|
||||
|
||||
** Plugins
|
||||
+ [[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=)
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
* Prerequisites
|
||||
You will need ghostscript and a latex compiler. All this is provided by
|
||||
the =texlive= bundle, available through many OS package managers.
|
||||
** Module flags
|
||||
- +cdlatex ::
|
||||
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
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
apt-get install texlive
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** Arch Linux
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
pacman -S texlive-core
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** TODO macOS
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
brew install --cask basictex
|
||||
# If the above doesn't work, then
|
||||
brew install --cask mactex # WARNING: large 4gb download!
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
#+begin_quote
|
||||
This has not been verified.
|
||||
🔨 This has not been verified.
|
||||
#+end_quote
|
||||
|
||||
** NixOS
|
||||
#+BEGIN_SRC nix
|
||||
#+begin_src nix
|
||||
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
|
||||
Reftex has a variable that allow you to
|
||||
specify where it should find your bibliography file(s):
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
Reftex has a variable that allow you to specify where it should find your
|
||||
bibliography file(s):
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(setq reftex-default-bibliography "/your/bib/file.bib")
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** Changing the PDFs viewer
|
||||
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
|
||||
+ Zathura
|
||||
+ 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,
|
||||
or remove tools from the search altogether. If you want to exclusively use one
|
||||
tool, for instance:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(setq +latex-viewers '(zathura))
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
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~
|
||||
to ~nil~.
|
||||
|
||||
** Using cdlatex's snippets despite having yasnippet
|
||||
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
|
||||
the ~TAB~ key for cdlatex, which takes care of snippet-related stuff:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
[[doom-package:][cdlatex]] has a snippet insertion capability which is disabled in favor of
|
||||
[[doom-package:][yasnippet]] when using [[doom-module:][:editor snippets]]. If you still wanna use it, simply rebind
|
||||
the [[kbd:][TAB]] key for cdlatex, which takes care of snippet-related stuff:
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(map! :map cdlatex-mode-map
|
||||
:i "TAB" #'cdlatex-tab)
|
||||
#+END_SRC
|
||||
:i "TAB" #'cdlatex-tab)
|
||||
#+end_src
|
||||
|
||||
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
|
||||
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
|
||||
#+DATE: October 13, 2019
|
||||
#+SINCE: v2.0.4
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang ledger
|
||||
#+SUBTITLE: Be audit you can be
|
||||
#+CREATED: September 09, 2017
|
||||
#+SINCE: 2.0.6 (#194)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#hacks][Hacks]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
|
||||
* Description
|
||||
* Description :unfold:
|
||||
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
|
||||
following format:
|
||||
|
||||
#+BEGIN_SRC ledger
|
||||
#+begin_src ledger
|
||||
2015/10/12 Exxon
|
||||
Expenses:Auto:Gas $10.00
|
||||
Liabilities:MasterCard $-10.00
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
This modules enables the following features:
|
||||
+ Syntax and indentation support for ledger files
|
||||
+ Add, edit, and delete transactions
|
||||
+ Generate reports
|
||||
+ Schedule transactions
|
||||
+ Sort transactions
|
||||
+ Display statistics about transactions
|
||||
+ Display balance up to a point
|
||||
- Syntax and indentation support for ledger files
|
||||
- Add, edit, and delete transactions
|
||||
- Generate reports
|
||||
- Schedule transactions
|
||||
- Sort transactions
|
||||
- Display statistics about transactions
|
||||
- Display balance up to a point
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/purcell/flycheck-ledger][flycheck-ledger]]
|
||||
+ [[https://github.com/atheriel/evil-ledger][evil-ledger]]
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
** 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
|
||||
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
|
||||
whole transaction instead of toggling just the current posting.
|
||||
- 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 whole transaction instead of toggling just the current posting.
|
||||
|
||||
* Prerequisites
|
||||
In order for ~flycheck-ledger~ to work and to be able to generate reports you
|
||||
will need to install [[https://www.ledger-cli.org/][ledger]].
|
||||
** TODO Changelog
|
||||
# This section will be machine generated. Don't edit it by hand.
|
||||
/This module does not have a changelog yet./
|
||||
|
||||
* TODO Features
|
||||
An in-depth list of features, how to use them, and their dependencies.
|
||||
* Installation
|
||||
[[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
|
||||
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
|
||||
#+DATE: Jun 3, 2020
|
||||
#+SINCE: v3.0
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang lua
|
||||
#+SUBTITLE: One-based indices? one-based indices
|
||||
#+CREATED: Jun 03, 2020
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#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 :unfold:
|
||||
This module adds Lua support to Doom Emacs.
|
||||
|
||||
* Description
|
||||
Adds Lua support to Doom Emacs
|
||||
# A summary of what this module does.
|
||||
|
||||
+ REPL
|
||||
+ Love2D specific functions
|
||||
+ Moonscript support
|
||||
- REPL
|
||||
- Love2D specific functions
|
||||
- Moonscript support
|
||||
- Fennel support
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Module Flags
|
||||
+ =+moonscript= Moonscript language support
|
||||
+ =+fennel= Fennel language support
|
||||
+ =+lsp= Language Server Protocol support
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
# A list of linked plugins
|
||||
+ [[https://github.com/immerrr/lua-mode][lua-mode]]
|
||||
+ [[https://github.com/k2052/moonscript-mode][moonscript-mode]] (=+moonscript=)
|
||||
+ [[https://gitlab.com/technomancy/fennel-mode][fennel-mode]] (=+fennel=)
|
||||
** Module flags
|
||||
- +fennel ::
|
||||
Enable support for the Fennel language.
|
||||
- +lsp ::
|
||||
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
|
||||
LSP server support depends on which flavor of the =:tools lsp= module you have
|
||||
installed (Eglot or LSP-mode).
|
||||
LSP server support depends on which flavor of the [[doom-module:][:tools lsp]] module you have
|
||||
installed ([[doom-package:][eglot]] or [[doom-package:][lsp-mode]]).
|
||||
|
||||
*** LSP-mode
|
||||
Three servers are supported, ordered from highest to lowest priority:
|
||||
|
||||
+ [[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.
|
||||
+ [[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
|
||||
- [[https://github.com/EmmyLua/EmmyLua-LanguageServer][EmmyLua-LanguageServer]] :: Must be in
|
||||
=$EMACSDIR/.local/etc/lsp/EmmyLua-LS-all.jar=. See
|
||||
~lsp-clients-emmy-lua-jar-path~ variable to change this.
|
||||
- [[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.
|
||||
+ [[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.
|
||||
|
||||
[[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 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
|
||||
=~/.config/emacs/.local/etc/lsp/lua-language-server/=. See
|
||||
~+lua-lsp-dir~ variable to change this.
|
||||
=$EMACSDIR/.local/etc/lsp/lua-language-server/=. See ~+lua-lsp-dir~ variable
|
||||
to change this.
|
||||
|
||||
* TODO Features
|
||||
# An in-depth list of features, how to use them, and their dependencies.
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||
#+end_quote
|
||||
|
||||
* Configuration
|
||||
- lua-lsp-dir :: This must be set when using =+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.
|
||||
* TODO Configuration
|
||||
#+begin_quote
|
||||
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+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
|
||||
[[doom-report:][Report an issue?]]
|
||||
|
||||
** 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
|
||||
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
|
||||
#+DATE: February 19, 2017
|
||||
#+SINCE: 2.0
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang markdown
|
||||
#+SUBTITLE: Write docs for people to ignore
|
||||
#+CREATED: February 19, 2017
|
||||
#+SINCE: 2.0.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
This module provides Markdown support for Emacs.
|
||||
|
||||
#+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
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
** Module Flags
|
||||
+ =+grip= Enables [[https://github.com/seagle0128/grip-mode][grip support]] (on =<localleader> p=), to provide live
|
||||
github-style previews of your markdown (or org) files.
|
||||
** Maintainers
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Plugins
|
||||
+ markdown-mode
|
||||
+ markdown-toc
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** 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
|
||||
+ 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.
|
||||
|
||||
* Prerequisites
|
||||
This module has two soft dependencies: a linter and a compiler (for previewing
|
||||
markdown).
|
||||
** 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:
|
||||
- A linter (requires [[doom-module:][:checkers syntax]])
|
||||
- A markdown compiler, for previewing Markdown
|
||||
|
||||
** Linters
|
||||
Out of the box, flycheck recognizes these checkers for markdown-mode and
|
||||
gfm-mode:
|
||||
|
||||
+ Markdown-specific
|
||||
+ [[https://github.com/DavidAnson/markdownlint][markdownlint]] (~npm install markdownlint~)
|
||||
+ [[https://github.com/markdownlint/markdownlint][mdl]] (~gem install mdl~)
|
||||
+ General (natural language)
|
||||
+ [[http://proselint.com/][proselint]]
|
||||
- ~pip install proselint~
|
||||
- Markdown-specific
|
||||
- [[https://github.com/DavidAnson/markdownlint][markdownlint]] (~$ npm install markdownlint~)
|
||||
- [[https://github.com/markdownlint/markdownlint][mdl]] (~$ gem install mdl~)
|
||||
- General (natural language)
|
||||
- [[http://proselint.com/][proselint]]
|
||||
- ~$ pip install proselint~
|
||||
- Or through your OS package manager
|
||||
- MacOS: ~brew install proselint~
|
||||
- Arch Linux: ~pacman -S proselint~
|
||||
+ [[https://github.com/textlint/textlint][textlint]] (~npm install textlint~)
|
||||
- MacOS: ~$ brew install proselint~
|
||||
- Arch Linux: ~$ pacman -S proselint~
|
||||
- [[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
|
||||
work. It will recognize and use one of the following executables, in this order
|
||||
(you only need one):
|
||||
|
||||
+ [[https://github.com/markedjs/marked][markedjs]]: a markdown compiler "built for speed"
|
||||
+ [[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
|
||||
- [[https://github.com/markedjs/marked][markedjs]]: a markdown compiler "built for speed"
|
||||
- [[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
|
||||
for these two:
|
||||
+ 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
|
||||
+ [[https://fletcher.github.io/MultiMarkdown-6/][multimarkdown]]: a compiler for a language that is a superset of Markdown, with
|
||||
- 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
|
||||
- [[https://fletcher.github.io/MultiMarkdown-6/][multimarkdown]]: a compiler for a language that is a superset of Markdown, with
|
||||
additional output formats and features.
|
||||
|
||||
*** MarkedJS
|
||||
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
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
*** Pandoc
|
||||
Pandoc is the universal markup transpiler. It should be available through your
|
||||
system package manager. For example:
|
||||
|
||||
+ MacOS: ~brew install pandoc~
|
||||
+ Arch Linux: ~pacman -S pandoc~
|
||||
+ MacOS: ~$ brew install pandoc~
|
||||
+ Arch Linux: ~$ pacman -S pandoc~
|
||||
|
||||
*** Markdown
|
||||
The C implementation of Markdown.pl, called =discount=, is available through
|
||||
your OS's package manager:
|
||||
|
||||
+ MacOS: ~brew install discount~
|
||||
+ Arch Linux: ~pacman -S discount~
|
||||
+ MacOS: ~$ brew install 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
|
||||
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
|
||||
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
|
||||
|
||||
* Features
|
||||
** Markdown preview
|
||||
~markdown-preview~ is bound to =<localleader> p=. This will open a preview of
|
||||
your compiled markdown document in your browser.
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+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
|
||||
#+begin_quote
|
||||
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
** 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-compile-functions~: a list of functions that take three arguments: the
|
||||
start and end point in the current buffer to use as input, and an output buffer
|
||||
to insert the result in.
|
||||
~+markdown-compile-functions~: a list of functions that take three arguments:
|
||||
the start and end point in the current buffer to use as input, and an output
|
||||
buffer to insert the result in.
|
||||
|
||||
By default, the value of ~+markdown-compile-functions~ is:
|
||||
|
||||
#+BEGIN_SRC lisp
|
||||
#+begin_src lisp
|
||||
'(+markdown-compile-marked
|
||||
+markdown-compile-pandoc
|
||||
+markdown-compile-markdown
|
||||
+markdown-compile-multimarkdown)
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
These functions will attempt to use the marked, pandoc and markdown executables,
|
||||
if available. Changing this variable will control how markdown is compiled.
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
if available. Changing this variable will control how markdown is compiled:
|
||||
#+begin_src emacs-lisp
|
||||
;; Add a new one
|
||||
(add-hook '+markdown-compile-functions #'my-compile-function)
|
||||
|
||||
;; Or remove an existing one
|
||||
(remove-hook '+markdown-compile-functions #'+markdown-compile-markdown)
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
Otherwise, you can change ~markdown-command~ directly:
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
#+begin_src emacs-lisp
|
||||
(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
|
||||
This module is a work in progress.
|
||||
#+end_quote
|
||||
* Description :unfold:
|
||||
This module adds [[https://nim-lang.org][Nim]] support to Doom Emacs.
|
||||
|
||||
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)
|
||||
+ Syntax checking (nimsuggest + flycheck)
|
||||
+ Babel support (~ob-nim~)
|
||||
** Maintainers
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#nim][Nim]]
|
||||
- [[#configuration][Configuration]]
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
* Module Flags
|
||||
This module provides no flags.
|
||||
** Packages
|
||||
- [[doom-package:][flycheck-nim]] if [[doom-module:][:checkers syntax]]
|
||||
- [[doom-package:][nim-mode]]
|
||||
|
||||
* Prerequisites
|
||||
+ ~nim~ (for building & evaluation)
|
||||
+ ~nimsuggest~ (for code completion, syntax checking & jump-to-definition functionality)
|
||||
** Hacks
|
||||
- [[doom-package:][nimsuggest]] was modified to strip invalid characters from its temp file paths
|
||||
(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
|
||||
=choosenim= is an installer and version manager for the Nim programming
|
||||
language. You can install the latest stable release of Nim by running the
|
||||
following in your terminal and following the onscreen instructions:
|
||||
|
||||
#+BEGIN_SRC bash
|
||||
#+begin_src 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:
|
||||
- MacOS: ~$ brew install nim~
|
||||
- Arch Linux: ~$ pacman --needed --noconfirm -S nim nimble~
|
||||
- openSUSE: ~$ zypper install nim~
|
||||
|
||||
*** MacOS
|
||||
#+BEGIN_SRC sh :tangle (if (doom-system-os 'macos) "yes")
|
||||
brew install nim
|
||||
#+END_SRC
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||
#+end_quote
|
||||
|
||||
*** Arch Linux
|
||||
#+BEGIN_SRC sh :dir /sudo:: :tangle (if (doom-system-os 'arch) "yes")
|
||||
sudo pacman --needed --noconfirm -S nim nimble
|
||||
#+END_SRC
|
||||
* TODO Configuration
|
||||
#+begin_quote
|
||||
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||
#+end_quote
|
||||
|
||||
*** openSUSE
|
||||
#+BEGIN_SRC sh :dir /sudo::
|
||||
sudo zypper install nim
|
||||
#+END_SRC
|
||||
* Troubleshooting
|
||||
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
||||
|
||||
* 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
|
||||
#+DATE: May 4, 2020
|
||||
#+SINCE: v2.0.7
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang nix
|
||||
#+SUBTITLE: I hereby declare "nix geht mehr!"
|
||||
#+CREATED: December 02, 2017
|
||||
#+SINCE: 2.0.8 (#280)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#keybindings][Keybindings]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
* Description :unfold:
|
||||
This module adds support for the Nix language to Doom Emacs, along with tools
|
||||
for managing [[https://nixos.org/][Nix(OS)]].
|
||||
|
||||
* Description
|
||||
Adds many tools for [[https://nixos.org/][Nix(OS)]] users in nice package for Doom users.
|
||||
|
||||
+ Syntax highlighting
|
||||
+ Completion through ~company~ / ~helm~
|
||||
+ Nix option lookup
|
||||
+ Formatting (~nixfmt~)
|
||||
Includes:
|
||||
- Syntax highlighting
|
||||
- Completion through [[doom-package:][company]] and/or [[doom-package:][helm]]
|
||||
- Nix option lookup
|
||||
- Formatting (~nixfmt~)
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/NixOS/nix-mode][nix-mode]]
|
||||
+ [[https://github.com/jwiegley/nix-update-el][nix-update]]
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
* Prerequisites
|
||||
+ ~nixfmt~ is required to use formatting
|
||||
+ If you have Nix(OS) installed it can be installed through Nix configuration ~environment.systemPackages = with pkgs; [ nixfmt ];~ (recommended)
|
||||
+ Or through nix-env ~nix-env -iA nixpkgs.nixfmt~
|
||||
+ Or through nix-shell ~nix-shell -f https://github.com/serokell/nixfmt/archive/master.tar.gz -i~
|
||||
+ ~: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.
|
||||
** Packages
|
||||
- [[doom-package:][company-nixos-options]] if [[doom-module:][:completion company]]
|
||||
- [[doom-package:][helm-nixos-options]] if [[doom-module:][:completion helm]]
|
||||
- [[doom-package:][nix-mode]]
|
||||
- [[doom-package:][nix-update]]
|
||||
|
||||
** 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
|
||||
| Binding | Description |
|
||||
|-------------------+----------------------|
|
||||
| ~<localleader> b~ | ~nix-build~ |
|
||||
| ~<localleader> f~ | ~nix-update-fetch~ |
|
||||
| ~<localleader> o~ | ~+nix/lookup-option~ |
|
||||
| ~<localleader> p~ | ~nix-format-buffer~ |
|
||||
| ~<localleader> r~ | ~nix-repl-show~ |
|
||||
| ~<localleader> s~ | ~nix-repl-shell~ |
|
||||
| ~<localleader> u~ | ~nix-unpack~ |
|
||||
| Binding | Description |
|
||||
|-----------------+----------------------|
|
||||
| [[kbd:][<localleader> b]] | ~nix-build~ |
|
||||
| [[kbd:][<localleader> f]] | ~nix-update-fetch~ |
|
||||
| [[kbd:][<localleader> o]] | ~+nix/lookup-option~ |
|
||||
| [[kbd:][<localleader> p]] | ~nix-format-buffer~ |
|
||||
| [[kbd:][<localleader> r]] | ~nix-repl-show~ |
|
||||
| [[kbd:][<localleader> s]] | ~nix-repl-shell~ |
|
||||
| [[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
|
||||
+ 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
|
||||
#+DATE: June 27, 2017
|
||||
#+SINCE: v2.0.3
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang ocaml
|
||||
#+SUBTITLE: An objective camel
|
||||
#+CREATED: June 27, 2017
|
||||
#+SINCE: 2.0.4 (#128)
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#appendix][Appendix]]
|
||||
- [[#commands][Commands]]
|
||||
- [[#hacks][Hacks]]
|
||||
* Description :unfold:
|
||||
This module adds [[https://ocaml.org/][OCaml]] support to Doom Emacs, powered by [[doom-package:][tuareg-mode]].
|
||||
|
||||
* Description
|
||||
This module adds [[https://ocaml.org/][OCaml]] support to Doom Emacs, powered by [[https://github.com/ocaml/tuareg][tuareg-mode]].
|
||||
- Code completion, documentation look-up, code navigation and refactoring
|
||||
([[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
|
||||
([[https://github.com/ocaml/merlin/wiki/emacs-from-scratch][merlin]])
|
||||
+ 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]])
|
||||
** Maintainers
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
** Module 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
|
||||
+ [[https://github.com/ocaml/tuareg][tuareg]]
|
||||
+ [[https://github.com/ocaml/merlin][merlin]]
|
||||
+ [[https://github.com/Khady/merlin-eldoc][merlin-eldoc]]
|
||||
+ [[https://github.com/OCamlPro/ocp-indent][ocp-indent]]
|
||||
+ [[https://github.com/flycheck/flycheck-ocaml][flycheck-ocaml]]*
|
||||
+ [[https://github.com/ocaml-community/utop][utop]]*
|
||||
+ [[https://github.com/ocaml-ppx/ocamlformat][ocamlformat]]*
|
||||
+ [[https://github.com/ocaml/dune][dune]]
|
||||
|
||||
* Prerequisites
|
||||
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= |
|
||||
** Packages
|
||||
- [[doom-package:][dune]]
|
||||
- [[doom-package:][ocamlformat]] if [[doom-module:][:editor format]]
|
||||
- [[doom-package:][ocp-indent]]
|
||||
- [[doom-package:][tuareg]]
|
||||
- [[doom-package:][utop]] if [[doom-module:][:tools eval]]
|
||||
- unless [[doom-module:][+lsp]]
|
||||
- [[doom-package:][flycheck-ocaml]] if [[doom-module:][:checkers syntax]]
|
||||
- [[doom-package:][merlin]]
|
||||
- [[doom-package:][merlin-company]]
|
||||
- [[doom-package:][merlin-eldoc]]
|
||||
|
||||
** Hacks
|
||||
+ =set-ligatures!= is called with the full tuareg prettify symbol list, this
|
||||
can cause columns to change as certain keywords are shortened (e.g. =fun=
|
||||
becomes \lambda.
|
||||
+ =tuareg-opam-update-env= is called the first time =tuareg= is loaded
|
||||
- ~set-ligatures!~ is called with the full tuareg prettify symbol list, this can
|
||||
cause columns to change as certain keywords are shortened (e.g. =fun= becomes
|
||||
\lambda).
|
||||
- ~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
|
||||
#+DATE: February 19, 2017
|
||||
#+SINCE: 2.0
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang org
|
||||
#+SUBTITLE: Organize your plain life in plain text
|
||||
#+CREATED: February 20, 2017
|
||||
#+SINCE: 2.0.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
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
|
||||
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
|
||||
from files in/under =org-directory=).
|
||||
+ Executable code blocks with support for a variety of languages and tools
|
||||
from files in/under ~org-directory~).
|
||||
- Executable code blocks with support for a variety of languages and tools
|
||||
(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~.
|
||||
+ 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.
|
||||
+ Drag-and-drop support for images (with inline preview) and media files (drops
|
||||
a file icon and a short link) (requires =+dragndrop= flag).
|
||||
+ Integration with pandoc, ipython, jupyter, reveal.js, beamer, and others
|
||||
- Drag-and-drop support for images (with inline preview) and media files (drops
|
||||
a file icon and a short link) (requires [[doom-module:][+dragndrop]] flag).
|
||||
- Integration with pandoc, ipython, jupyter, reveal.js, beamer, and others
|
||||
(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
|
||||
~+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/
|
||||
#+end_quote
|
||||
|
||||
** Module Flags
|
||||
+ =+brain= Enables [[https://github.com/Kungsgeten/org-brain][org-brain]] integration.
|
||||
+ =+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=.
|
||||
** Maintainers
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Plugins
|
||||
+ [[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]]
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** 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
|
||||
+ 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~.
|
||||
+ Gracefully degrades ~:async~ babel blocks to ~:sync~ when =ob-async= would
|
||||
cause errors or issues (such as with a ~:session~ parameter, which =ob-async=
|
||||
does not support, or when exporting org documents).
|
||||
+ The window is recentered when following links.
|
||||
+ The breadcrumbs displayed in eldoc when hovering over an org headline has been
|
||||
- Gracefully degrades ~:async~ babel blocks to ~:sync~ when [[doom-package:][ob-async]] would cause
|
||||
errors or issues (such as with a ~:session~ parameter, which [[doom-package:][ob-async]] does not
|
||||
support, or when exporting org documents).
|
||||
- The window is recentered when following links.
|
||||
- The breadcrumbs displayed in eldoc when hovering over an org headline has been
|
||||
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
|
||||
are temporarily opened in the background.
|
||||
+ Temporary org agenda files aren't added to recentf.
|
||||
+ =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,
|
||||
- If [[doom-module:][:ui workspaces]] is enabled, persp-mode won't register org agenda buffers
|
||||
that are temporarily opened in the background.
|
||||
- Temporary org agenda files aren't added to recentf.
|
||||
- =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,
|
||||
rather than cycle through it recursively. This can be reversed with:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
#+begin_src emacs-lisp
|
||||
(after! evil-org
|
||||
(remove-hook 'org-tab-first-hook #'+org-cycle-only-current-subtree-h))
|
||||
#+END_SRC
|
||||
+ (Evil users) Nearby tables are formatted when exiting insert or replace mode
|
||||
#+end_src
|
||||
- (Evil users) Nearby tables are formatted when exiting insert or replace mode
|
||||
(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~).
|
||||
+ 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.
|
||||
+ 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
|
||||
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:*~
|
||||
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
|
||||
~+org-capture-expand-variable-file-a~).
|
||||
|
||||
* Prerequisites
|
||||
Org has a few soft dependencies that you will need to make use of Org's more
|
||||
esoteric features:
|
||||
** TODO Changelog
|
||||
# This section will be machine generated. Don't edit it by hand.
|
||||
/This module does not have a changelog yet./
|
||||
|
||||
+ For inline LaTeX previews, ~latex~ and ~dvipng~ is needed.
|
||||
+ To render GNUPlot images (with =+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 =:lang= module and ensure
|
||||
its dependencies are met, e.g. install the =ruby= executable for ruby support.
|
||||
To use ~jupyter kernels~ you need the =+jupyter= flag, the associated kernel as
|
||||
* Installation
|
||||
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||
|
||||
This module has no hard requirements, but these soft requirements are needed to
|
||||
use Org's more esoteric features:
|
||||
- For inline LaTeX previews, ~latex~ and ~dvipng~ is needed.
|
||||
- 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.
|
||||
+ =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
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
brew install --cask mactex
|
||||
brew install gnuplot
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** Arch Linux
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
pacman -S texlive-core texlive-bin texlive-science
|
||||
pacman -S gnuplot
|
||||
pacman -S jupyter # required by +jupyter
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** NixOS
|
||||
#+BEGIN_SRC nix
|
||||
#+begin_src nix
|
||||
environment.systemPackages = with pkgs; [
|
||||
# any less than medium isn't guaranteed to work
|
||||
texlive.combined.scheme-medium
|
||||
# required by +jupyter
|
||||
(python38.withPackages(ps: with ps; [jupyter]))
|
||||
];
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** 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
|
||||
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
|
||||
will spawn a temporary daemon for you.
|
||||
|
||||
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)'
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** Built-in custom link types
|
||||
This module defines a number of custom link types in ~+org-init-custom-links-h~.
|
||||
They are (with examples):
|
||||
|
||||
+ ~doom-docs:news/2.1.0~ (=~/.emacs.d/docs/%s=)
|
||||
+ ~doom-modules:editor/evil/README.org~ (=~/.emacs.d/modules/%s=)
|
||||
+ ~doom-repo:issues~ (=https://github.com/hlissner/doom-emacs/%s=)
|
||||
+ ~doom:core/core.el~ (=~/.emacs.d/%s=)
|
||||
+ ~duckduckgo:search terms~
|
||||
+ ~gimages:search terms~ (Google Images)
|
||||
+ ~github:hlissner/doom-emacs~
|
||||
+ ~gmap:Toronto, Ontario~ (Google Maps)
|
||||
+ ~google:search terms~
|
||||
+ ~org:todo.org~ (={org-directory}/%s=)
|
||||
+ ~wolfram:sin(x^3)~
|
||||
+ ~wikipedia:Emacs~
|
||||
+ ~youtube:P196hEuA_Xc~ (link only)
|
||||
+ ~yt:P196hEuA_Xc~ (like =youtube=, but includes an inline preview of the video)
|
||||
- ~doom-docs:index.org~ -> =~/.emacs.d/docs/%s=
|
||||
- ~doom-modules:editor/evil/README.org~ -> =~/.emacs.d/modules/%s=
|
||||
- ~doom-repo:issues~ -> =https://github.com/hlissner/doom-emacs/%s=
|
||||
- ~doom:core/core.el~ -> =~/.emacs.d/%s=
|
||||
- ~duckduckgo:search terms~
|
||||
- ~gimages:search terms~ (Google Images)
|
||||
- ~github:hlissner/doom-emacs~
|
||||
- ~gmap:Toronto, Ontario~ (Google Maps)
|
||||
- ~google:search terms~
|
||||
- ~org:todo.org~ -> ={org-directory}/%s=
|
||||
- ~wolfram:sin(x^3)~
|
||||
- ~wikipedia:Emacs~
|
||||
- ~youtube:P196hEuA_Xc~ (link only)
|
||||
- ~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~
|
||||
To modify ~org-directory~ it must be set /before/ =org= has loaded:
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
;; ~/.doom.d/config.el
|
||||
~org-directory~ must be set /before/ [[doom-package:][org]] has loaded:
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(setq org-directory "~/new/org/location/")
|
||||
#+END_SRC
|
||||
** Changing ~org-noter-notes-search-path~
|
||||
To modify ~org-noter-notes-search-path~ set:
|
||||
#+end_src
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
;; ~/.doom.d/config.el
|
||||
** Changing ~org-noter-notes-search-path~
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(setq org-noter-notes-search-path '("~/notes/path/"))
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
* Troubleshooting
|
||||
[[doom-report:][Report an issue?]]
|
||||
|
||||
** =org-roam=
|
||||
*** 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
|
||||
should go with =+roam2=; if you already have an ~org-roam-directory~ with the v1
|
||||
files in it, then you can keep use =+roam= for a time being.
|
||||
Long story short: if you're new to [[doom-package:][org-roam]] and haven't used it, then you should
|
||||
go with [[doom-module:][+roam2]]; if you already have an ~org-roam-directory~ with the v1 files in
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
your =init.el=.
|
||||
1. Enable [[doom-module:][+roam2]] flag (and disable [[doom-module:][+roam]] if it was previously enabled) in your
|
||||
=init.el=.
|
||||
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~
|
||||
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
|
||||
just in case backup it yourself too.
|
||||
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
|
||||
[[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
|
||||
#+DATE: January 16, 2017
|
||||
#+SINCE: v1.3
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang php
|
||||
#+SUBTITLE: Perl's insecure younger brother
|
||||
#+CREATED: January 16, 2017
|
||||
#+SINCE: 1.3
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#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 :unfold:
|
||||
This module adds support for PHP 5.3+ (including PHP7) to Doom Emacs.
|
||||
|
||||
* Description
|
||||
This module adds support for PHP 5.3+ (including PHP7).
|
||||
|
||||
+ ctags-based code completion (~company-php~ and ~phpctags~)
|
||||
+ eldoc support (~ac-php~ and ~php-extras~)
|
||||
+ REPL (~php-boris~)
|
||||
+ Code refactoring commands (~php-refactor-mode~)
|
||||
+ Unit-test commands (~phpunit~)
|
||||
+ 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]]
|
||||
- ctags-based code completion (~company-php~ and ~phpctags~)
|
||||
- eldoc support (~ac-php~ and ~php-extras~)
|
||||
- REPL (~php-boris~)
|
||||
- Code refactoring commands (~php-refactor-mode~)
|
||||
- Unit-test commands (~phpunit~)
|
||||
- Support for ~laravel~ and ~composer~ projects (with project-specific snippets)
|
||||
- [[../../editor/file-templates/templates/php-mode][File templates]]
|
||||
- [[https://github.com/hlissner/doom-snippets/tree/master/php-mode][Snippets]]
|
||||
|
||||
#+begin_quote
|
||||
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
|
||||
who inherited my earliest PHP work. I know you're out there, writhing in your
|
||||
straitjackets.
|
||||
💡 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 who inherited my earliest PHP work. I know you're out there,
|
||||
writhing in your straitjackets.
|
||||
|
||||
Save a programmer today. Stop a friend from choosing PHP as their first
|
||||
language.
|
||||
Save a programmer today. Stop a friend from choosing PHP as their first
|
||||
language.
|
||||
#+end_quote
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ =+hack= Add support for the [[https://hacklang.org/][Hack dialect of PHP]] by Facebook.
|
||||
+ =+lsp= Enable LSP support through phpactor or intelephense. Requires the ~:tools
|
||||
lsp~ module and the [[https://phpactor.readthedocs.io/en/develop/usage/standalone.html][phpactor server]] to be installed on your system.
|
||||
** Plugins
|
||||
+ [[https://github.com/tomterl/php-boris][async]]
|
||||
+ [[https://github.com/tomterl/php-boris][php-boris]]
|
||||
+ [[https://github.com/arnested/php-extras][php-extras]]
|
||||
+ [[https://github.com/emacs-php/php-mode][php-mode]]
|
||||
+ [[https://github.com/keelerm84/php-refactor-mode.el][php-refactor-mode]]
|
||||
+ [[https://github.com/nlamirault/phpunit.el][phpunit]]
|
||||
+ [[https://github.com/emacs-php/composer.el][composer.el]]
|
||||
+ =+hack=
|
||||
+ [[https://github.com/hhvm/hack-mode][hack-mode]]
|
||||
+ =+lsp=
|
||||
+ [[https://github.com/emacs-php/phpactor.el][phpactor]]
|
||||
+ [[https://github.com/emacs-php/phpactor.el][company-phpactor]]
|
||||
+ =:editor format=
|
||||
+ [[https://github.com/OVYA/php-cs-fixer][php-cs-fixer]]
|
||||
** Module flags
|
||||
- +hack ::
|
||||
Add support for the [[https://hacklang.org/][Hack dialect of PHP]] by Facebook.
|
||||
- +lsp ::
|
||||
Enable LSP support for ~php-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||
(supports [[https://phpactor.readthedocs.io/en/develop/usage/standalone.html][phpactor]] and intelephense).
|
||||
|
||||
** Packages
|
||||
- [[doom-package:][async]]
|
||||
- [[doom-package:][hack-mode]] if [[doom-module:][+hack]]
|
||||
- [[doom-package:][php-boris]]
|
||||
- [[doom-package:][php-cs-fixer]] if [[doom-package:][:editor format]]
|
||||
- [[doom-package:][php-extras]]
|
||||
- [[doom-package:][php-mode]]
|
||||
- [[doom-package:][php-refactor-mode]]
|
||||
- [[doom-package:][phpunit]]
|
||||
- if [[doom-module:][+lsp]]
|
||||
- [[doom-package:][phpactor]]
|
||||
- [[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
|
||||
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
|
||||
PHP 5.5 comes prepackaged with newer versions of MacOS. These instructions are
|
||||
provided for reference:
|
||||
|
||||
#+begin_src sh :tangle (if (doom-system-os 'macos) "yes")
|
||||
#+begin_src sh
|
||||
brew tap homebrew/homebrew-php
|
||||
brew install php71 # or php53, php54, php55
|
||||
brew install composer
|
||||
|
@ -92,7 +82,7 @@ brew install npm
|
|||
#+end_src
|
||||
|
||||
*** 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
|
||||
|
||||
# If you use intelephense:
|
||||
|
@ -100,20 +90,32 @@ sudo pacman -S nodejs npm
|
|||
#+end_src
|
||||
|
||||
*** openSUSE
|
||||
#+begin_src sh :dir /sudo::
|
||||
#+begin_src sh
|
||||
sudo zypper install php-composer
|
||||
|
||||
# If you use intelephense:
|
||||
sudo zypper install nodejs npm
|
||||
#+end_src
|
||||
|
||||
** Dependencies
|
||||
This module has no required dependencies, but it has a couple optional ones.
|
||||
** LSP Support
|
||||
There are a number of currently supported LSP servers:
|
||||
|
||||
+ ~boris~ (REPL)
|
||||
+ ~phpctags~ (better code completion)
|
||||
+ ~phpunit~ (unit test commands)
|
||||
+ ~php-cs-fixer~ and ~@prettier/plugin-php~ (for code formatting)
|
||||
- [[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 [[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)
|
||||
|
||||
#+begin_src sh
|
||||
|
@ -129,34 +131,23 @@ composer global require \
|
|||
npm install -g @prettier/plugin-php
|
||||
#+end_src
|
||||
|
||||
You must ensure that ~~/.composer/vendor/bin~ is in ~PATH~, so these executables are
|
||||
visible to Emacs:
|
||||
|
||||
You must ensure that =$HOME/.composer/vendor/bin= is in =$PATH=, so these
|
||||
executables are visible to Emacs:
|
||||
#+begin_src sh
|
||||
# place this in your profile file, like ~/.bash_profile or ~/.zshenv
|
||||
export PATH="~/.composer/vendor/bin:$PATH"
|
||||
#+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.
|
||||
|
||||
*NOTE* phpactor doesn't have to be installed via =composer=, just has to exist in
|
||||
your =$PATH=.
|
||||
|
||||
* Features
|
||||
** LSP Support
|
||||
There are a number of currently supported LSP servers:
|
||||
|
||||
+ [[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=.
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
** PHPUnit
|
||||
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
|
||||
commands:
|
||||
|
||||
| Binding | Function |
|
||||
|---------------------+---------------------------------|
|
||||
| ~<localleader> m c c~ | ~composer~ |
|
||||
| ~<localleader> m c i~ | ~composer-install~ |
|
||||
| ~<localleader> m c r~ | ~composer-require~ |
|
||||
| ~<localleader> m c u~ | ~composer-update~ |
|
||||
| ~<localleader> m c d~ | ~composer-dump-autoload~ |
|
||||
| ~<localleader> m c s~ | ~composer-run-scripts~ |
|
||||
| ~<localleader> m c v~ | ~composer-run-vendor-bin-command~ |
|
||||
| ~<localleader> m c o~ | ~composer-find-json-file~ |
|
||||
| ~<localleader> m c l~ | ~composer-view-lock-file~ |
|
||||
| Binding | Function |
|
||||
|---------------------+-----------------------------------|
|
||||
| [[kbd:][<localleader> m c c]] | ~composer~ |
|
||||
| [[kbd:][<localleader> m c i]] | ~composer-install~ |
|
||||
| [[kbd:][<localleader> m c r]] | ~composer-require~ |
|
||||
| [[kbd:][<localleader> m c u]] | ~composer-update~ |
|
||||
| [[kbd:][<localleader> m c d]] | ~composer-dump-autoload~ |
|
||||
| [[kbd:][<localleader> m c s]] | ~composer-run-scripts~ |
|
||||
| [[kbd:][<localleader> m c v]] | ~composer-run-vendor-bin-command~ |
|
||||
| [[kbd:][<localleader> m c o]] | ~composer-find-json-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
|
||||
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=
|
||||
|
@ -210,11 +205,12 @@ If you wish to specify a different container, modify the
|
|||
#+end_src
|
||||
|
||||
* Troubleshooting
|
||||
[[doom-report:][Report an issue?]]
|
||||
|
||||
** "I'm missing functionality on lsp-mode"
|
||||
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
|
||||
(insecurely) added directly to your config:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(setq lsp-intelephense-licence-key "<key>")
|
||||
#+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.
|
||||
|
||||
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
|
||||
machine * login intelephense password <key>
|
||||
#+end_src
|
||||
|
||||
And add the following to your config
|
||||
|
||||
And add the following to your config:
|
||||
#+begin_src emacs-lisp
|
||||
(defun my-fetch-password (&rest params)
|
||||
(require 'auth-source)
|
||||
|
@ -244,3 +238,11 @@ And add the following to your config
|
|||
|
||||
(setq lsp-intelephense-license-key (my-fetch-password :user intelephense))
|
||||
#+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
|
||||
#+DATE: Oct, 2019
|
||||
#+SINCE: v2.0.9
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang python
|
||||
#+SUBTITLE: Beautiful is better than ugly
|
||||
#+CREATED: June 15, 2015
|
||||
#+SINCE: 0.7
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#language-server-protocol-support][Language Server Protocol Support]]
|
||||
- [[#features][Features]]
|
||||
- [[#keybindings][Keybindings]]
|
||||
- [[#configuration][Configuration]]
|
||||
* Description :unfold:
|
||||
This module adds [[https://www.python.org/][Python]] support to Doom Emacs.
|
||||
|
||||
* Description
|
||||
Adds Python support to Doom Emacs.
|
||||
- Syntax checking ([[doom-package:][flycheck]])
|
||||
- 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~)
|
||||
+ Snippets
|
||||
+ Run tests (~nose~, ~pytest~)
|
||||
+ Auto-format (~black~), requires ~:editor format~
|
||||
+ LSP integration (mspyls, pyls, or pyright)
|
||||
** Maintainers
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Module Flags
|
||||
+ ~+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]]
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/pythonic-emacs/anaconda-mode][anaconda-mode]]*
|
||||
+ [[https://github.com/Wilfred/pyimport][pyimport]]*
|
||||
+ [[https://github.com/paetzke/py-isort.el][py-isort]]*
|
||||
+ [[https://github.com/emacsattic/nose/][nose]]*
|
||||
+ [[https://github.com/wbolster/emacs-python-pytest][python-pytest]]*
|
||||
+ [[https://github.com/Wilfred/pip-requirements.el][pip-requirements]]*
|
||||
+ [[https://github.com/pwalsh/pipenv.el][pipenv]]*
|
||||
+ if ~+conda~
|
||||
+ [[https://github.com/necaris/conda.el][conda]]*
|
||||
+ if ~+pyenv~
|
||||
+ [[https://github.com/pythonic-emacs/pyenv-mode][pyenv]]*
|
||||
+ if ~+poetry~
|
||||
+ [[https://github.com/galaunay/poetry.el][poetry]]*
|
||||
+ if ~+lsp~ and ~:tools 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]]
|
||||
** Module flags
|
||||
- +conda ::
|
||||
Enable python virtual environment support via [[https://conda.io/en/latest/][Conda]].
|
||||
- +cython ::
|
||||
Enable support for Cython files support.
|
||||
- +lsp ::
|
||||
Enable LSP support for ~python-mode~. Requires [[doom-module:][:tools lsp]] and a langserver
|
||||
(supports mspyls, pyls, and pyright).
|
||||
- +poetry ::
|
||||
Enable Python packaging, dependency management, and virtual environment
|
||||
support via [[https://python-poetry.org/][Poetry]].
|
||||
- +pyenv ::
|
||||
Enable Python virtual environment support via [[https://github.com/pyenv/pyenv][pyenv]]
|
||||
- +pyright ::
|
||||
Use the pyright LSP server instead of mspyls or pyls (requires [[doom-module:][+lsp]]).
|
||||
|
||||
* Prerequisites
|
||||
This module has no hard prerequisites, but a few soft ones:
|
||||
** Packages
|
||||
- [[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:
|
||||
+ ~pip install pytest~
|
||||
+ ~pip install nose~
|
||||
+ 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~
|
||||
+ ~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]]
|
||||
** Hacks
|
||||
- [[doom-package:][anaconda-mode]] is configured to activate when [[doom-package:][lsp-mode]] (or [[doom-package:][eglot]]) don't -- or
|
||||
fail to.
|
||||
|
||||
** 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 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
|
||||
For LSP support the =:tools lsp= module must be enabled, along with this
|
||||
module's =+lsp= flag. By default, it supports =mspyls= and =pyls=, in that
|
||||
order. With the =+pyright= flag, it will try Pyright first.
|
||||
For LSP support the [[doom-module:][:tools lsp]] module must be enabled, along with this module's
|
||||
[[doom-module:][+lsp]] flag. By default, it supports [[doom-package:][mspyls]] and [[doom-package:][pyls]], in that order. With the
|
||||
[[doom-module:][+pyright]] flag, it will try Pyright first.
|
||||
|
||||
Each of these servers must be installed on your system via your OS package
|
||||
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]~.
|
||||
+ *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~.
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /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]], [[https://github.com/Microsoft/python-language-server][Microsoft Language Server]], or [[https://github.com/microsoft/pyright][pyright]], see [[Language Server Protocol Support][LSP Support]].
|
||||
This module supports LSP. It requires installation of [[https://pypi.org/project/python-language-server/][Python Language 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
|
||||
~init.el~ file.
|
||||
To enable support for auto-formatting with black enable [[doom-module:][:editor format]].
|
||||
|
||||
** 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 |
|
||||
|---------------------+----------------------------------|
|
||||
| ~<localleader> c c~ | ~Compile Cython buffer~ |
|
||||
| ~<localleader> i i~ | ~Insert mising imports~ |
|
||||
| ~<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~ |
|
||||
* TODO Configuration
|
||||
#+begin_quote
|
||||
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
* Configuration
|
||||
This module has the following variables to set extra arguments to [[https://ipython.org/][ipython]] and
|
||||
[[https://jupyter.org/][jupyter]] shells:
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
;; ~/.doom.d/config.el
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(setq +python-ipython-repl-args '("-i" "--simple-prompt" "--no-color-info"))
|
||||
(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
|
||||
#+DATE: May 22, 2021
|
||||
#+SINCE: v2.0.9
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang qt
|
||||
#+SUBTITLE: The cutest GUI framework ever
|
||||
#+CREATED: June 02, 2018
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
|
||||
* Description
|
||||
# A summary of what this module does.
|
||||
* Description :unfold:
|
||||
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 .pro and .pri files used by [[https://doc.qt.io/qt-5/qmake-project-files.html][qmake]]
|
||||
- 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]]
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/coldnew/qml-mode/tree/master][qml-mode]]
|
||||
+ [[https://github.com/EricCrosson/qt-pro-mode][qt-pro-mode]]
|
||||
** Packages
|
||||
- [[doom-package:][qml-mode]]
|
||||
- [[doom-package:][qt-pro-mode]]
|
||||
|
||||
* Prerequisites
|
||||
This module has no prerequisites.
|
||||
** 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,70 +1,90 @@
|
|||
#+TITLE: lang/racket
|
||||
#+DATE: July 29, 2018
|
||||
#+SINCE: v2.0.9
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang racket
|
||||
#+SUBTITLE: The DSL for DSLs
|
||||
#+CREATED: July 29, 2018
|
||||
#+SINCE: 2.0.9 (#772)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#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]].
|
||||
* Description :unfold:
|
||||
This module adds support for the [[https://www.racket-lang.org/][Racket programming language]] to Doom Emacs.
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables LSP support. Requires jeapostrophe/racket-langserver.
|
||||
+ =+xp= Enables the explore mode, which "analyzes expanded code to explain and explore."
|
||||
** Module flags
|
||||
- +lsp ::
|
||||
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
|
||||
+ [[https://github.com/greghendershott/racket-mode][racket-mode]]
|
||||
** Packages
|
||||
- [[doom-package:][racket-mode]]
|
||||
|
||||
* Prerequisites
|
||||
This module only requires ~racket~. Install it directly from the [[https://download.racket-lang.org/][racket website]],
|
||||
or check your package manger.
|
||||
** 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 ~racket~. Install it from the [[https://download.racket-lang.org/][racket website]] or through
|
||||
your OS package manger.
|
||||
|
||||
** Arch Linux
|
||||
|
||||
#+begin_src bash
|
||||
#+begin_src sh
|
||||
pacman -S racket
|
||||
#+end_src
|
||||
|
||||
Or, for fewer dependencies:
|
||||
|
||||
#+begin_src bash
|
||||
#+begin_src sh
|
||||
pacman -S racket-minimal
|
||||
#+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~ gets turned off automatically if you use ~parinfer~,
|
||||
~lispy~. If you wish to enable it, add the following to your ~config.el~:
|
||||
#+BEGIN_SRC elisp
|
||||
~racket-smart-open-bracket-mode~ gets turned off automatically if you use
|
||||
~parinfer~, ~lispy~. If you wish to enable it:
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(after! racket-mode
|
||||
(add-hook! racket-mode
|
||||
#'racket-smart-open-bracket-mode))
|
||||
#+END_SRC
|
||||
(add-hook 'racket-mode-hook #'racket-smart-open-bracket-mode))
|
||||
#+end_src
|
||||
|
||||
** Unicode Input
|
||||
The optional ~racket-unicode~ input method lets you type unicode characters such as λ or π.
|
||||
To enable unicode input for a single buffer, run ~racket-unicode-input-method-enable~.
|
||||
To enable unicode input by default on all racket buffers, add the following hooks
|
||||
to your ~config.el~:
|
||||
#+BEGIN_SRC elisp
|
||||
The optional ~racket-unicode~ input method lets you type unicode characters such
|
||||
as λ or π. To enable unicode input for a single buffer, run
|
||||
~racket-unicode-input-method-enable~. To enable unicode input by default on all
|
||||
racket buffers:
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(add-hook 'racket-mode-hook #'racket-unicode-input-method-enable)
|
||||
(add-hook 'racket-repl-mode-hook #'racket-unicode-input-method-enable)
|
||||
#+END_SRC
|
||||
Once enabled, unicode input can be toggled by pressing C-\ or running ~toggle-input-method~.
|
||||
#+end_src
|
||||
|
||||
* 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:
|
||||
- [[#install][Install]]
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
* Install
|
||||
This module depends on raku itself.
|
||||
** Module flags
|
||||
/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
|
||||
#+DATE: March 17, 2017
|
||||
#+SINCE: v1.3
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang rest
|
||||
#+SUBTITLE: Emacs as a REST client
|
||||
#+CREATED: February 20, 2017
|
||||
#+SINCE: 2.0.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#hacks][Hacks]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
* Description :unfold:
|
||||
This module turns Emacs into a [[https://en.wikipedia.org/wiki/Representational_state_transfer][REST]] client.
|
||||
|
||||
* Description
|
||||
This module adds [[https://en.wikipedia.org/wiki/Representational_state_transfer][REST]] support.
|
||||
|
||||
+ Code-completion (~company-restclient~)
|
||||
+ Code evaluation
|
||||
+ Imenu support for ~restclient-mode~
|
||||
+ org-mode: babel support (~ob-restclient~)
|
||||
- Code-completion (~company-restclient~)
|
||||
- Code evaluation
|
||||
- Imenu support for ~restclient-mode~
|
||||
- org-mode: babel support (~ob-restclient~)
|
||||
|
||||
#+begin_quote
|
||||
~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
|
||||
block and hack away. ~restclient-mode~ and ~company-restclient~ power this
|
||||
arcane wizardry.
|
||||
💡 ~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 block and hack away. ~restclient-mode~ and ~company-restclient~ power
|
||||
this arcane wizardry.
|
||||
#+end_quote
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/pashky/restclient.el][restclient]]
|
||||
+ =:completion company=
|
||||
+ [[https://github.com/iquiw/company-restclient][company-restclient]]
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
** Packages
|
||||
- [[doom-package:][company-restclient]] if [[doom-module:][:completion company]]
|
||||
- [[doom-package:][restclient]]
|
||||
|
||||
** 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.
|
||||
+ Adds imenu support to ~restclient-mode~.
|
||||
|
||||
* Prerequisites
|
||||
This module has no prerequisites.
|
||||
** TODO Changelog
|
||||
# This section will be machine generated. Don't edit it by hand.
|
||||
/This module does not have a changelog yet./
|
||||
|
||||
* Features
|
||||
# An in-depth list of features, how to use them, and their dependencies.
|
||||
* Installation
|
||||
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||
|
||||
* Configuration
|
||||
# How to configure this module, including common problems and how to address them.
|
||||
/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
|
||||
# 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
|
||||
#+DATE: January 16, 2007
|
||||
#+SINCE: v1.3
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang ruby
|
||||
#+SUBTITLE: 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
#+CREATED: January 16, 2007
|
||||
#+SINCE: 1.3
|
||||
|
||||
* Table of contents :TOC:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#packages][Packages]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#ubuntu][Ubuntu]]
|
||||
- [[#macos][MacOS]]
|
||||
- [[#windows][Windows]]
|
||||
- [[#appendix][Appendix]]
|
||||
- [[#commands][Commands]]
|
||||
|
||||
* Description
|
||||
* Description :unfold:
|
||||
This module add Ruby and optional Ruby on Rails support to Emacs.
|
||||
|
||||
+ Code completion (robe)
|
||||
+ Syntax checking (flycheck)
|
||||
+ Jump-to-definitions (robe)
|
||||
+ Bundler
|
||||
+ Rubocop integration (flycheck)
|
||||
- Code completion ([[doom-package:][robe]])
|
||||
- Syntax checking ([[doom-package:][flycheck]])
|
||||
- Jump-to-definitions ([[doom-package:][robe]])
|
||||
- Bundler
|
||||
- Rubocop integration ([[doom-package:][flycheck]])
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables LangServer support for ruby. You must have =:tools lsp= enabled
|
||||
for this to work, as well as the langserver (solargraph) installed on your
|
||||
system.
|
||||
+ =+rvm= Enables RVM (Ruby Version Manager) integration.
|
||||
+ =+rbenv= Enables rbenv integration.
|
||||
+ =+chruby= Enables chruby integration.
|
||||
+ =+rails= Enables rails navigational commands, plus server+console integration.
|
||||
** Maintainers
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module flags
|
||||
- +chruby ::
|
||||
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
|
||||
+ [[https://github.com/endofunky/bundler.el][bundler]]
|
||||
+ [[https://github.com/plexus/chruby.el][chruby]] (=+chruby=)
|
||||
+ [[https://github.com/company-mode/company-inf-ruby][company-inf-ruby]]
|
||||
+ [[https://github.com/eschulte/jump.el][inflections]]
|
||||
+ [[https://github.com/nonsequitur/inf-ruby][inf-ruby]]
|
||||
+ [[https://github.com/arthurnn/minitest-emacs][minitest]]
|
||||
+ [[https://github.com/asok/projectile-rails][projectile-rails]] (=+rails=)
|
||||
+ [[https://github.com/asok/rake][rake]]
|
||||
+ [[https://github.com/senny/rbenv.el][rbenv]] (=+rbenv=)
|
||||
+ [[https://github.com/dgutov/robe][robe]]
|
||||
+ [[https://github.com/pezra/rspec-mode][rspec-mode]]
|
||||
+ [[https://github.com/rubocop-hq/rubocop-emacs][rubocop]]
|
||||
+ [[https://github.com/senny/rvm.el][rvm]] (=+rvm=)
|
||||
- [[doom-package:][bundler]]
|
||||
- [[doom-package:][chruby]] if [[doom-module:][+chruby]]
|
||||
- [[doom-package:][company-inf-ruby]] if :completion company
|
||||
- [[doom-package:][inf-ruby]]
|
||||
- [[doom-package:][minitest]]
|
||||
- [[doom-package:][rake]]
|
||||
- [[doom-package:][rbenv]] if [[doom-module:][+rbenv]]
|
||||
- [[doom-package:][robe]]
|
||||
- [[doom-package:][rspec-mode]]
|
||||
- [[doom-package:][rubocop]]
|
||||
- [[doom-package:][rvm]] if [[doom-module:][+rvm]]
|
||||
- if [[doom-module:][+rails]]
|
||||
- [[doom-package:][inflections]]
|
||||
- [[doom-package:][projectile-rails]]
|
||||
|
||||
* Prerequisites
|
||||
Many of this modules plugins require ruby with some version manager (RVM or
|
||||
Rbenv) and the rubocop gem.
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
** Ubuntu
|
||||
You can follow [[https://gorails.com/setup/ubuntu/18.04][this guide]]. After ruby installation, run ~gem install rubocop~.
|
||||
** MacOS
|
||||
You can follow [[https://gorails.com/setup/osx/10.15-catalina][this guide]]. After ruby installation, run ~gem install rubocop~.
|
||||
** Windows
|
||||
You can follow [[https://gorails.com/setup/windows/10][this guide]]. After ruby installation, run ~gem install rubocop~.
|
||||
** 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 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
|
||||
*** robe
|
||||
| command | key / ex command | description |
|
||||
|----------------------+------------------+--------------------------------------------------------------------|
|
||||
| ~robe-start~ | =SPC m \'= | Open ruby lang server for auto-completions and jump to definitions |
|
||||
| ~robe-rails-refresh~ | =SPC m R= | Refresh the lang server. |
|
||||
| command | key / ex command | description |
|
||||
|----------------------+--------------------+--------------------------------------------------------------------|
|
||||
| ~robe-start~ | [[kbd:][<localleader> ']] | Open ruby lang server for auto-completions and jump to definitions |
|
||||
| ~robe-rails-refresh~ | [[kbd:][<localleader> R]] | Refresh the lang server. |
|
||||
|
||||
*** 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
|
||||
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
|
||||
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 |
|
||||
|-----------------------+------------------+-----------------------------------|
|
||||
| ~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 |
|
||||
|
||||
* 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
|
||||
#+DATE: June 5, 2019
|
||||
#+SINCE: v3.0.0
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang rust
|
||||
#+SUBTITLE: Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
#+CREATED: September 30, 2015
|
||||
#+SINCE: 0.7
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
This module adds support for the Rust language and integration for its tools,
|
||||
e.g. ~cargo~.
|
||||
|
||||
+ Code completion (=racer= or an LSP server)
|
||||
+ Syntax checking (=flycheck=)
|
||||
+ LSP support (for rust-analyzer and rls) (=rustic=)
|
||||
+ Snippets
|
||||
- Code completion ([[doom-package:][racer]] or an LSP server)
|
||||
- Syntax checking ([[doom-package:][flycheck]])
|
||||
- LSP support (for rust-analyzer and rls) ([[doom-package:][rustic]])
|
||||
- Snippets
|
||||
|
||||
** Module Flags
|
||||
+ ~+lsp~ to add support Language server protocol. Will use the first of
|
||||
=rust-analyzer= or =rls= (in that order).
|
||||
** Maintainers
|
||||
- @hlissner
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/brotzeit/rustic][rustic]]
|
||||
+ [[https://github.com/racer-rust/emacs-racer][racer]]* (unless =+lsp=)
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** 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
|
||||
+ 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
|
||||
- rustic has been modified /not/ to automatically install lsp-mode or eglot if
|
||||
they're missing. Doom expects you to have enabled the [[doom-module:][:tools lsp]] module
|
||||
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
|
||||
|
||||
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
|
||||
* Installation
|
||||
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
||||
|
||||
This module requires ~rust~, which can be acquired through =rustup=:
|
||||
#+begin_src sh
|
||||
curl https://sh.rustup.rs -sSf | sh
|
||||
#+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
|
||||
|
||||
Additional requirements depend on the module's configuration:
|
||||
|
||||
+ If =:editor format= is enabled, you'll need =rustfmt=: ~rustup component add
|
||||
- If [[doom-module:][:editor format]] is enabled, you'll need =rustfmt=: ~$ rustup component add
|
||||
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).
|
||||
+ Users with =+lsp= enabled will need:
|
||||
+ =rust-analyzer= or =rls=
|
||||
+ Using the following commands requires:
|
||||
+ ~cargo-process-check~: ~cargo install cargo-check~
|
||||
+ ~cargo-process-clippy~: ~rustup component add clippy-preview~
|
||||
- Users with [[doom-module:][+lsp]] enabled will need:
|
||||
- =rust-analyzer= or =rls=
|
||||
- Using the following commands requires:
|
||||
- ~cargo-process-check~: ~$ cargo install cargo-check~
|
||||
- ~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)
|
||||
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
|
||||
OS package manager).
|
||||
2. The =:tools lsp= module enabled.
|
||||
3. The ~+lsp~ flag on this module enabled.
|
||||
2. The [[doom-module:][:tools lsp]] module enabled.
|
||||
3. The [[doom-module:][+lsp]] flag on this module enabled.
|
||||
|
||||
** Format on save
|
||||
Enable the [[file:../../../modules/editor/format/README.org][:editor format]] module's =+onsave= flag to get formatting on save with
|
||||
rustfmt. No additional configuration is necessary.
|
||||
Enable [[doom-module:][:editor format +onsave]] to get formatting on save with =rustfmt=. No
|
||||
additional configuration is necessary.
|
||||
|
||||
** Keybinds
|
||||
| Binding | Description |
|
||||
|---------------------+-----------------------------|
|
||||
| ~<localleader> b a~ | ~cargo audit~ |
|
||||
| ~<localleader> b b~ | ~cargo build~ |
|
||||
| ~<localleader> b B~ | ~cargo bench~ |
|
||||
| ~<localleader> b c~ | ~cargo check~ |
|
||||
| ~<localleader> b C~ | ~cargo clippy~ |
|
||||
| ~<localleader> b d~ | ~cargo doc~ |
|
||||
| ~<localleader> b n~ | ~cargo update~ |
|
||||
| ~<localleader> b o~ | ~cargo outdated~ |
|
||||
| ~<localleader> b r~ | ~cargo run~ |
|
||||
| ~<localleader> t a~ | ~cargo test~ |
|
||||
| ~<localleader> t t~ | ~run current test~ |
|
||||
| =<localleader> b a= | ~cargo audit~ |
|
||||
| =<localleader> b b= | ~cargo build~ |
|
||||
| =<localleader> b B= | ~cargo bench~ |
|
||||
| =<localleader> b c= | ~cargo check~ |
|
||||
| =<localleader> b C= | ~cargo clippy~ |
|
||||
| =<localleader> b d= | ~cargo doc~ |
|
||||
| =<localleader> b n= | ~cargo update~ |
|
||||
| =<localleader> b o= | ~cargo outdated~ |
|
||||
| =<localleader> b r= | ~cargo run~ |
|
||||
| =<localleader> t a= | ~cargo test~ |
|
||||
| =<localleader> t t= | ~run current test~ |
|
||||
|
||||
* TODO Configuration
|
||||
#+begin_quote
|
||||
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
** Enable RLS by default
|
||||
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:
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
used by default. Modify ~rustic-lsp-server~ to change the default:
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(after! rustic
|
||||
(setq rustic-lsp-server 'rls))
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** Enabling eglot support for Rust
|
||||
Doom's =:tools lsp= module has an =+eglot= flag. Enable it and this module will
|
||||
use eglot instead.
|
||||
Doom's [[doom-module:][:tools lsp]] module has an [[doom-module:][+eglot]] flag. Enable it and this module will use
|
||||
eglot instead.
|
||||
|
||||
* Troubleshooting
|
||||
[[doom-report:][Report an issue?]]
|
||||
|
||||
** error[E0670]: `async fn` is not permitted in the 2015 edition
|
||||
You may be seeing this error, despite having ~edition = "2018"~ in your
|
||||
=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
|
||||
format= enabled).
|
||||
server tries to invoke on save (if you have ~rustic-format-on-save~ or
|
||||
[[doom-module:][:editor format]] enabled).
|
||||
|
||||
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
|
||||
#+DATE: October 14, 2020
|
||||
#+SINCE: v1.3
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang scala
|
||||
#+SUBTITLE: Java, but good
|
||||
#+CREATED: May 12, 2016
|
||||
#+SINCE: 1.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#lsp-integration][=+lsp= Integration]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#coursier][Coursier]]
|
||||
- [[#metals][Metals]]
|
||||
- [[#features][Features]]
|
||||
- [[#notes][Notes]]
|
||||
|
||||
* Description
|
||||
* Description :unfold:
|
||||
This module adds [[https://www.scala-lang.org][scala]] and [[https://www.scala-sbt.org/][sbt]] support to Doom Emacs.
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables integration for the metals LSP server.
|
||||
Through the power of [[https://scalameta.org/metals/docs/editors/overview.html][Metals]] (LSP) this module offers:
|
||||
- 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
|
||||
Note: Coursier is only required to install Metals. If system is running arch
|
||||
linux this step can be safely skipped.
|
||||
Coursier is only required to install Metals. If you're on Arch linux this step
|
||||
can be skipped.
|
||||
|
||||
**** Ubuntu / Debian / Fedora
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
curl -fLo cs https://git.io/coursier-cli-linux &&
|
||||
chmod +x cs &&
|
||||
./cs
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
**** MacOS
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
curl -fLo cs https://git.io/coursier-cli-macos &&
|
||||
chmod +x cs &&
|
||||
(xattr -d com.apple.quarantine cs || true) &&
|
||||
./cs
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
**** Arch
|
||||
#+BEGIN_SRC sh
|
||||
**** Arch Linux
|
||||
#+begin_src sh
|
||||
yay -S coursier
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
*** Metals
|
||||
|
||||
**** 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
|
||||
coursier bootstrap \
|
||||
|
@ -64,31 +89,34 @@ coursier bootstrap \
|
|||
-o /usr/local/bin/metals-emacs -f
|
||||
#+end_src
|
||||
|
||||
**** Arch
|
||||
#+BEGIN_SRC sh
|
||||
**** Arch Linux
|
||||
#+begin_src sh
|
||||
yay -S metals
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** Features
|
||||
According to [[https://scalameta.org/metals/docs/editors/overview.html]] it adds
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||
#+end_quote
|
||||
|
||||
+ Goto Definition
|
||||
+ Completions
|
||||
+ Hover
|
||||
+ Paremeter Hints
|
||||
+ Find References
|
||||
+ Run/Debug
|
||||
+ Find Implementations
|
||||
+ Rename Symbol
|
||||
+ Code Actions
|
||||
+ Document Symbols
|
||||
+ Formatting
|
||||
+ Folding
|
||||
+ Organize Imports
|
||||
* TODO Configuration
|
||||
#+begin_quote
|
||||
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
||||
#+end_quote
|
||||
|
||||
** 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.
|
||||
+ Latest version of sbt is recommended.
|
||||
+ Running =M-x lsp-metals-doctor-run= helps diagnose problems.
|
||||
+ Full reference here: https://scalameta.org/metals/docs/editors/emacs.html
|
||||
- Projects are required to have scala version =2.11.12=, =2.12.8=, =2.13.0= or
|
||||
greater.
|
||||
- Latest version of sbt is recommended.
|
||||
- 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
|
||||
#+DATE: July 23, 2019
|
||||
#+SINCE: v2.0.9
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang scheme
|
||||
#+SUBTITLE: A fully conniving family of lisps
|
||||
#+CREATED: July 23, 2019
|
||||
#+SINCE: 21.12.0 (#1588)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#commands][Commands]]
|
||||
- [[#geiser][Geiser]]
|
||||
* Description :unfold:
|
||||
This module provides support for the Scheme family of Lisp languages, powered by
|
||||
[[https://www.nongnu.org/geiser/geiser_1.html#introduction][geiser]].
|
||||
|
||||
* Description
|
||||
This module provides an environment for hacking and having fun in scheme. It is
|
||||
powered by [[https://www.nongnu.org/geiser/geiser_1.html#introduction][geiser]].
|
||||
** Maintainers
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ =+chez=
|
||||
+ =+chibi=
|
||||
+ =+chicken=
|
||||
+ =+gambit=
|
||||
+ =+gauche=
|
||||
+ =+guile=
|
||||
+ =+kawa=
|
||||
+ =+mit=
|
||||
+ =+racket=
|
||||
** Module flags
|
||||
- +chez ::
|
||||
- +chibi ::
|
||||
- +chicken ::
|
||||
- +gambit ::
|
||||
- +gauche ::
|
||||
- +guile ::
|
||||
- +kawa ::
|
||||
- +mit ::
|
||||
- +racket ::
|
||||
|
||||
** Plugins
|
||||
+ [[https://gitlab.com/jaor/geiser][geiser]]
|
||||
+ [[https://github.com/nbfalcon/macrostep-geiser][macrostep-geiser]]
|
||||
+ [[https://gitlab.com/emacs-geiser/chez][geiser-chez]] (if =+chez=)
|
||||
+ [[https://gitlab.com/emacs-geiser/chibi][geiser-chibi]] (if =+chibi=)
|
||||
+ [[https://gitlab.com/emacs-geiser/chicken][geiser-chicken]] (if =+chicken=)
|
||||
+ [[https://gitlab.com/emacs-geiser/gambit][geiser-gambit]] (if =+gambit=)
|
||||
+ [[https://gitlab.com/emacs-geiser/gauche][geiser-gauche]] (if =+gauche=)
|
||||
+ [[https://gitlab.com/emacs-geiser/guile][geiser-guile]] (if =+guile=)
|
||||
+ [[https://github.com/flatwhatson/flycheck-guile][flycheck-guile]] (if =+guile= and =:checkers syntax=)
|
||||
+ [[https://gitlab.com/emacs-geiser/kawa][geiser-kawa]] (if =+kawa=)
|
||||
+ [[https://gitlab.com/emacs-geiser/mit][geiser-mit]] (if =+mit=)
|
||||
+ [[https://gitlab.com/emacs-geiser/racket][geiser-racket]] (if =+racket=)
|
||||
** Packages
|
||||
- [[doom-package:][flycheck-guile]] if [[doom-module:][+guile]] and [[doom-module:][:checkers syntax]]
|
||||
- [[doom-package:][geiser]]
|
||||
- [[doom-package:][geiser-chez]] if [[doom-module:][+chez]]
|
||||
- [[doom-package:][geiser-chibi]] if [[doom-module:][+chibi]]
|
||||
- [[doom-package:][geiser-chicken]] if [[doom-module:][+chicken]]
|
||||
- [[doom-package:][geiser-gambit]] if [[doom-module:][+gambit]]
|
||||
- [[doom-package:][geiser-gauche]] if [[doom-module:][+gauche]]
|
||||
- [[doom-package:][geiser-guile]] if [[doom-module:][+guile]]
|
||||
- [[doom-package:][geiser-kawa]] if [[doom-module:][+kawa]]
|
||||
- [[doom-package:][geiser-mit]] if [[doom-module:][+mit]]
|
||||
- [[doom-package:][geiser-racket]] if [[doom-module:][+racket]]
|
||||
- [[doom-package:][macrostep-geiser]]
|
||||
|
||||
* Prerequisites
|
||||
This module requires you to have at least one of the supported schemes, namely:
|
||||
** 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.]]
|
||||
|
||||
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://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://synthcode.com/scheme/chibi][Chibi Scheme]] 0.7.3 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
|
||||
** Commands
|
||||
*** Geiser
|
||||
| command | key / ex command | description |
|
||||
|---------------------+------------------+----------------------|
|
||||
| ~+scheme/open-repl~ | =:repl= | Open the Scheme Repl |
|
||||
| | | |
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
|
||||
#+end_quote
|
||||
|
||||
| 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
|
||||
#+DATE: December 19, 2015
|
||||
#+SINCE: v0.7
|
||||
#+STARTUP: inlineimages
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang sh
|
||||
#+SUBTITLE: She sells {ba,z,fi}sh shells on the C xor
|
||||
#+CREATED: September 28, 2015
|
||||
#+SINCE: 0.7
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[#description][Description]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#hacks][Hacks]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
* Description :unfold:
|
||||
This module adds support for shell scripting languages (including Powershell and
|
||||
Fish script) to Doom Emacs.
|
||||
|
||||
* Description
|
||||
This module adds support for shell scripting languages.
|
||||
- Code completion ([[doom-package:][company-shell]])
|
||||
- Syntax Checking ([[doom-package:][flycheck]])
|
||||
|
||||
+ Code completion (company-shell)
|
||||
+ Syntax Checking (flycheck)
|
||||
** Maintainers
|
||||
- [[doom-user:][@hlissner]]
|
||||
|
||||
** Module Flags
|
||||
+ =+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.
|
||||
+ =+fish= Add syntax highlighting for fish script files.
|
||||
+ =+powershell= Add syntax highlighting for Powershell script files .ps1 and .psm1
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module flags
|
||||
- +fish ::
|
||||
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
|
||||
+ [[https://github.com/Alexander-Miller/company-shell][company-shell]]* (=:completion company=)
|
||||
+ [[https://github.com/wwwjfy/emacs-fish][fish-mode]]* (=+fish=)
|
||||
+ [[https://github.com/jschaf/powershell.el][powershell-mode]]* (=+powershell=)
|
||||
** Packages
|
||||
- [[doom-package:][company-shell]] if [[doom-module:][:completion company]]
|
||||
- [[doom-package:][fish-mode]] if [[doom-module:][+fish]]
|
||||
- [[doom-package:][powershell-mode]] if [[doom-module:][+powershell]]
|
||||
|
||||
** 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:
|
||||
|
||||
+ [[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).
|
||||
+ With the =:tools debugger= module
|
||||
+ [[http://bashdb.sourceforge.net/][bashdb]]: Enables debugging for bash scripts
|
||||
+ [[https://github.com/rocky/zshdb][zshdb]]: Enables debugging for zsh scripts
|
||||
- [[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 [[doom-module:][+lsp]] flag).
|
||||
- With the [[doom-module:][:tools debugger]] module
|
||||
- [[http://bashdb.sourceforge.net/][bashdb]]: Enables debugging for bash 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 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
|
||||
#+DATE: March 29, 2020
|
||||
#+SINCE: v3.0
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang sml
|
||||
#+SUBTITLE: ...
|
||||
#+CREATED: Mar 30, 2020
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
|
||||
* Description
|
||||
This module has no description yet.
|
||||
* Description :unfold:
|
||||
THis module adds [[https://smlfamily.github.io/][SML (Standard ML) programming language]] support to Doom Emacs.
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
This module provides no flags.
|
||||
** Module flags
|
||||
/This module has no flags./
|
||||
|
||||
** Plugins
|
||||
+ sml-mode
|
||||
+ company-mlton (=:completion company=)
|
||||
** Packages
|
||||
- [[doom-package:][company-mlton]] if [[doom-module:][:completion company]]
|
||||
- [[doom-package:][sml-mode]]
|
||||
|
||||
* TODO Prerequisites
|
||||
# Document how to install sml program and MLton
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
* TODO Features
|
||||
# An in-depth list of features, how to use them, and their dependencies.
|
||||
** 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 =sml= and =MLton=.
|
||||
|
||||
* TODO Usage
|
||||
#+begin_quote
|
||||
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
||||
#+end_quote
|
||||
|
||||
* 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
|
||||
# Common issues and their solution, or places to look for help.
|
||||
* 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,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~)
|
||||
+ Code completion ([[https://github.com/ssmolkin1/company-solidity][company-solidity]])
|
||||
+ Gas estimation (~C-c C-g~)
|
||||
- Syntax-checking ([[doom-package:][flycheck]])
|
||||
- Code completion ([[doom-package:][company-solidity]])
|
||||
- Gas estimation (~C-c C-g~)
|
||||
|
||||
* Table of Contents :TOC:
|
||||
- [[#module-flags][Module Flags]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#solc][Solc]]
|
||||
- [[#solium][Solium]]
|
||||
- [[#todo][TODO]]
|
||||
** Maintainers
|
||||
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
* Module Flags
|
||||
This module provides no flags.
|
||||
** Module 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:
|
||||
|
||||
+ [[https://github.com/ethereum/solc-js][Solc]]
|
||||
+ [[http://solium.readthedocs.io/en/latest/user-guide.html#installation][Solium]]
|
||||
- [[https://github.com/ethereum/solc-js][Solc]]
|
||||
- [[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
|
||||
errors.
|
||||
|
||||
** Solc
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
npm install -g solc
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
** Solium
|
||||
#+BEGIN_SRC sh
|
||||
#+begin_src sh
|
||||
npm install -g solium
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
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
|
||||
~config.el~
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
By default *solium* looks for =.soliumrc.json= in the project directory, but you
|
||||
can set it to your own =.soliumrc.json= with:
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(setq flycheck-solidity-solium-soliumrcfile "~/.soliumrc.json")
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
* TODO
|
||||
+ Snippets
|
||||
* 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
|
||||
|
|
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
|
||||
#+DATE: April 23, 2020
|
||||
#+SINCE: v3.0.0
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang yaml
|
||||
#+SUBTITLE: JSON, but readable
|
||||
#+CREATED: April 24, 2020
|
||||
#+SINCE: 21.12.0
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#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]].
|
||||
* Description :unfold:
|
||||
This module provides support for the [[https://yaml.org/][YAML file format]] to Doom Emacs.
|
||||
|
||||
** Maintainers
|
||||
This module has no dedicated maintainers.
|
||||
/This module has no dedicated maintainers./ [[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables integration with LSP servers. Requires the =:tools lsp= module to be enabled.
|
||||
** Module flags
|
||||
- +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
|
||||
+ [[https://github.com/yoshiki/yaml-mode][yaml-mode]]
|
||||
** Packages
|
||||
- [[doom-package:][yaml-mode]]
|
||||
|
||||
* Prerequisites
|
||||
This module has no prerequisites.
|
||||
** Hacks
|
||||
/No hacks documented for this module./
|
||||
|
||||
* TODO Features
|
||||
# An in-depth list of features, how to use them, and their dependencies.
|
||||
** 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
|
||||
# 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
|
||||
# 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
|
||||
#+DATE: March 18, 2021
|
||||
#+SINCE: v2.0.9
|
||||
#+STARTUP: inlineimages nofold
|
||||
← [[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]]
|
||||
--------------------------------------------------------------------------------
|
||||
#+TITLE: :lang zig
|
||||
#+SUBTITLE: C, but simpler
|
||||
#+CREATED: April 05, 2021
|
||||
#+SINCE: 21.12.0 (#4827)
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#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
|
||||
* Description :unfold:
|
||||
This module adds [[https://ziglang.org/][Zig]] support, with optional (but recommended) LSP support via
|
||||
[[https://github.com/zigtools/zls][zls]].
|
||||
|
||||
+ Syntax highlighting
|
||||
+ Syntax-checking (~flycheck~)
|
||||
+ Code completion and LSP integration (~zls~)
|
||||
- Syntax highlighting
|
||||
- Syntax-checking ([[doom-package:][flycheck]])
|
||||
- Code completion and LSP integration (~zls~)
|
||||
|
||||
** Maintainers
|
||||
+ [[https://github.com/bnjmnt4n][@bnjmnt4n]] (Author)
|
||||
- [[doom-user:][@bnjmnt4n]]
|
||||
|
||||
** Module Flags
|
||||
+ =+lsp= Enables integration for the zls LSP server. It is highly recommended
|
||||
you use this.
|
||||
[[doom-contrib-maintainer:][Become a maintainer?]]
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/ziglang/zig-mode][zig-mode]]
|
||||
** Module flags
|
||||
- +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
|
||||
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]].
|
||||
|
||||
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
|
||||
This module supports LSP integration. For it to work you'll need:
|
||||
|
||||
1. zls installed.
|
||||
2. The =:tools lsp= module enabled. Only =lsp-mode= is supported for now.
|
||||
3. The ~+lsp~ flag on this module enabled.
|
||||
1. zls installed,
|
||||
2. The [[doom-module:][:tools lsp]] module enabled. Only [[doom-package:][lsp-mode]] is supported for now,
|
||||
3. The [[doom-module:][+lsp]] flag on this module enabled.
|
||||
|
||||
** Keybinds
|
||||
| Binding | Description |
|
||||
|-------------------+---------------------|
|
||||
| ~<localleader> b~ | ~zig-compile~ |
|
||||
| ~<localleader> f~ | ~zig-format-buffer~ |
|
||||
| ~<localleader> r~ | ~zig-run~ |
|
||||
| ~<localleader> t~ | ~zig-test-buffer~ |
|
||||
| [[kbd:][<localleader> b]] | ~zig-compile~ |
|
||||
| [[kbd:][<localleader> f]] | ~zig-format-buffer~ |
|
||||
| [[kbd:][<localleader> r]] | ~zig-run~ |
|
||||
| [[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
|
||||
To customize the path of the =zls= executable, modify ~lsp-zig-zls-executable~.
|
||||
|
||||
#+BEGIN_SRC elisp
|
||||
To customize the path of the =zls= executable, modify ~lsp-zig-zls-executable~:
|
||||
#+begin_src emacs-lisp
|
||||
;; in $DOOMDIR/config.el
|
||||
(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