This ocaml module has proper lsp support, and has the bindings I require
regularly. I use utop to REPL my code, with bindings to send parts of my
code to UTOP
Emacs support for f# isn't bad, just a bit buggy. .NET core has a lot of
stuff for f# that isn't leveraged properly, so I configured it to help a
tiny bit.
Goto functions just open dired instances for a specific folder, which a
lambda can do better. Instead of having to load the new file just to use
the function, just make the bindings directly via dired.
Omg haskell is so fidgety on Emacs. Or maybe doom is badly configured?
Anyway, using dante I can setup a comfy way to edit stuff in org mode
and directly in an hs file.
Similar to my previous refactoring, I am just repositioning some
documentation around the code blocks to be at the start rather than the
end. This is for the literate system particularly
Instead of using "use-package!" which will handle loading stuff,
flyspell is already in the hook for org mode. Therefore, inherently,
org-mode and flyspell will be loaded automatically in tandem. So I just
made a map! call that will run after flyspell and org have been loaded,
then just set-up the key binds itself.
Ivy-posframe now only applies to a set of functions through the
ivy-display-functions-alist. Some functions just aren't meant to be
posframed and are incredibly slow when using posframes, so I don't put
those in the list. Those functions in the list are functions that have a
negligible change in performance while providing a much better
experience via posframe.
org-directory and org-agenda-files are annoying to setup and are vital
to using emacs for me. I don't load org-mode files necessarily before
using these variables. Thus, set them outside of the (after! org) call,
then do the mapping inside (after! org) because this is a very important system.
LSP config that triggers lsp-ui-doc-mode when lsp is loaded. Also sets
lsp-ui-doc-position to top because it's really annoying to see it pop up
on cursor.