Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save hanshoglund/f6ff01cb3a668f774a79454c24cde544 to your computer and use it in GitHub Desktop.
Save hanshoglund/f6ff01cb3a668f774a79454c24cde544 to your computer and use it in GitHub Desktop.
https://www.youtube.com/watch?v=XA2WjJbmmoM
https://github.com/neovimhaskell
!! https://www.reddit.com/r/haskell/comments/3wiwhs/anyone_using_neovim/
File list
Quick cursor movement
Autocomplete (not automatic, single key, with options)
Multiple clipboards/buffers?
Jump to file named (fuzzy search)
set path+=**
set wildmenu
:find (use tab and star)
For open files :b
Search/replace (with regexps)
In single file
In set of files/entire repo
https://wiki.haskell.org/Tags
command! MakeTags THETAGGENERATOR
Note: this is not incremental - see above
Know about definition location
Refactorings
- Mechanical (explicitly run on buffer or any file tree, or for expression-level ones on selection):
- Lint: FIXMEs, error/undefined
- Clean import lists (correctly)
- Reformat code
- Fix elementary syntax errors
- Generate module dependency graph (values only)
- Split module at node in dep graph (move node and transitive closure of its descendants to a new file,
place types/classes/instances in parent)
- Speculative (run over Git branch in lockstep with compile/test, autogenerate commit messages)
- Make imports explicit
- Add function signatures
- Remove unused lang extensions/imports
Without cli
Run :load/compile and get quick (GHCI-reload speed) type errors that can be stepped throught
:!pwd runs arbitrary command
Automagically fix GHC error messages:
- Missing signatures
Basic file system
mkdir -p, remove
Git status, commit, clean, push, remove, diff etc
Curl requests?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment