FP dev tools

This commit is contained in:
Nathan McCarty 2022-10-31 12:08:17 -04:00
parent 34344a1354
commit 31639c1638
Signed by: thatonelutenist
GPG Key ID: D70DA3DD4D1E9F96
3 changed files with 55 additions and 39 deletions

View File

@ -741,6 +741,17 @@ Use rnix-lsp
:major-modes '(nix-mode) :major-modes '(nix-mode)
:server-id 'nix))) :server-id 'nix)))
#+end_src #+end_src
** Idris2
Configure idris2-mode, which we do manually since it's not yet in doom.
#+begin_src emacs-lisp
(use-package! idris2-mode)
#+end_src
** Haskell
Setup formatting
#+begin_src emacs-lisp
(after! lsp-haskell
(setq lsp-haskell-formatting-provider "brittany"))
#+end_src
* Composition * Composition
Modes for handling plain text and prose Modes for handling plain text and prose
** Markdown ** Markdown

79
init.el
View File

@ -15,63 +15,63 @@
;; directory (for easy access to its source code). ;; directory (for easy access to its source code).
(doom! :completion (doom! :completion
(company +childframe) ; the ultimate code completion backend (company +childframe) ; the ultimate code completion backend
(ivy +fuzzy +precient +childframe +icons) (ivy +fuzzy +precient +childframe +icons)
:ui :ui
doom ; what makes DOOM look the way it does doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs doom-dashboard ; a nifty splash screen for Emacs
(emoji +unicode) ; 🙂 (emoji +unicode) ; 🙂
hl-todo ; highlight todo-words hl-todo ; highlight todo-words
indent-guides ; highlighted indent columns indent-guides ; highlighted indent columns
modeline ; snazzy, Atom-inspired modeline, plus API modeline ; snazzy, Atom-inspired modeline, plus API
nav-flash ; blink cursor line after big motions nav-flash ; blink cursor line after big motions
(popup +defaults) ; tame sudden yet inevitable temporary windows (popup +defaults) ; tame sudden yet inevitable temporary windows
(treemacs +lsp) ; a project drawer, like neotree but cooler (treemacs +lsp) ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages unicode ; extended unicode support for various languages
(vc-gutter +diff-hl +pretty) (vc-gutter +diff-hl +pretty)
window-select ; visually switch windows window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces workspaces ; tab emulation, persistence & separate workspaces
zen ; distraction-free coding or writing zen ; distraction-free coding or writing
:editor :editor
file-templates ; auto-snippets for empty files file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding fold ; (nigh) universal code folding
(format +onsave) ; automated prettiness (format +onsave) ; automated prettiness
lispy lispy
rotate-text ; cycle region at point between text candidates rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent word-wrap ; soft wrapping with language-aware indent
:emacs :emacs
(dired +icons) ; making dired pretty [functional] (dired +icons) ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent electric ; smarter, keyword-based electric-indent
(ibuffer +icons) ; interactive buffer management (ibuffer +icons) ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree vc ; version-control and Emacs, sitting in a tree
:term :term
vterm ; the best terminal emulation in Emacs vterm ; the best terminal emulation in Emacs
:checkers :checkers
(syntax +childframe) ; tasing you for every semicolon you forget (syntax +childframe) ; tasing you for every semicolon you forget
(spell +aspell +everywhere) ; tasing you for misspelling mispelling (spell +aspell +everywhere) ; tasing you for misspelling mispelling
:tools :tools
(debugger +lsp) ; stepping through code, to help you add bugs (debugger +lsp) ; stepping through code, to help you add bugs
direnv direnv
docker docker
editorconfig ; let someone else argue about tabs vs spaces editorconfig ; let someone else argue about tabs vs spaces
(eval +overlay) ; run code, run (also, repls) (eval +overlay) ; run code, run (also, repls)
lookup ; navigate your code and its documentation lookup ; navigate your code and its documentation
lsp ; M-x vscode lsp ; M-x vscode
(magit +forge) ; a git porcelain for Emacs (magit +forge) ; a git porcelain for Emacs
pdf ; pdf enhancements pdf ; pdf enhancements
rgb ; creating color strings rgb ; creating color strings
tree-sitter tree-sitter
:os :os
(:if IS-MAC macos) ; improve compatibility with macOS (:if IS-MAC macos) ; improve compatibility with macOS
(tty +osc) (tty +osc)
:lang :lang
@ -82,17 +82,18 @@
markdown markdown
nix nix
(org +pandoc +present +roam2 +pomodoro) (org +pandoc +present +roam2 +pomodoro)
rest ; Emacs as a REST client rest ; Emacs as a REST client
(rust +lsp) (rust +lsp)
(sh +fish) (sh +fish)
yaml yaml
(scheme +chez) (scheme +chez)
(haskell +lsp)
:email :email
(mu4e +org) (mu4e +org)
:app :app
(rss +org) ; emacs as an RSS reader (rss +org) ; emacs as an RSS reader
:config :config
literate literate

View File

@ -68,3 +68,7 @@
(package! websocket) (package! websocket)
(package! org-roam-ui) (package! org-roam-ui)
(package! edit-server) (package! edit-server)
(package! idris2-mode :recipe
(:host github
:repo "idris-community/idris2-mode"
:branch "main"))