haskell-mode
selectrum
Our great sponsors
haskell-mode | selectrum | |
---|---|---|
9 | 33 | |
1,304 | 736 | |
0.3% | 0.0% | |
7.3 | 0.0 | |
about 2 months ago | over 1 year ago | |
Emacs Lisp | Emacs Lisp | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
haskell-mode
-
There is No “Tooling Issue” in Haskell
You can use GHCI's debugger through Emacs's haskell-debug-mode (part of the haskell-mode package), and probably through other editor/IDEs as well, a programming editor like Emacs or Vim simply needs to be able to run a GHCI session and send commands to it.
-
Kill until next char preceding space | Uppercase | underscore
No, I was only using haskell-mode. So I guess this is LSP's fault, then. Not Emacs's fault and not haskell-mode's fault.
-
What’s so great about functional programming anyway?
If I made it sound like there's something like IntelliSense today, apologies! We've got <https://github.com/haskell/haskell-mode/blob/master/haskell-...>, but it's type-a-command-and-do-a-search: it's not linked in with completion directly in the setups I've seen.
(In practice, I'm usually starting from a slightly different place: I know I want a Frob and I've got a This and a That, so I do :hoogle This -> That -> Frob and get some options. The thought-process is working backwards from the goal more than forwards from one key object in focus. A different way of working, but I'm not convinced it's less effective.)
My point though was that it's an engineering issue, not a fundamental language limitation. ie not a reason all future languages should shun haskell features. The building blocks to do better at completion than haskell curently does are there.
-
Emacs becomes extremely sluggish when I enter a haskell file
check if you have any similar config to what caused this issue: https://github.com/haskell/haskell-mode/issues/1777 for me
-
Requests for packages to add to NonGNU ELPA?
Package-lint has been on my list, but the maintainer, MELPA's Steve Purcell, has been hesitant about NonGNU ELPA in the past (see this discussion), so I have skipped his packages for now, and also because most of the packages he maintains have a "broken" version tag, most of the time -- the reason here is that MELPA adds these manually, and since he understandably is targetting MELPA, there is little interest from his side to fix that.
-
stack compile errors in emacs
You can see the expected output in this PR description.
-
Artyom's Haskell toolbox — a long list of tools/libraries I use
I use haskell-mode. It has a shortcut for loading a module into REPL, and it also runs hasktags for me. That's literally all I use.
-
My setup for messing about with Haskell scripts, 2021 edition
Just as a note from my poking around, this is the "official" way to use a nix-shell with haskell-mode: https://github.com/haskell/haskell-mode/blob/3a019e65b504861d7ea23afbfecd14e5ef63e846/haskell-customize.el#L77
selectrum
-
Common "ivy-read"
Selectrum's wiki has some basic info on completing-read: https://github.com/radian-software/selectrum/wiki/Tips-for-Creating-Commands
-
What packages do the cool kids use these days?
[1] https://github.com/radian-software/selectrum/issues/114
-
Selectrum now deprecated in favor of Vertico
I noticed over the weekend that the venerable Selectrum package made by Radon Rosborough has been deprecated in favor of Daniel Mendler's Vertico package.
- How to make TRAMP faster?
-
Sidekick is a Emacs package that provides information about a symbol inside a single window.
https://github.com/radian-software/selectrum is getting superceded by https://github.com/minad/vertico within just a year or two.
-
Straight.el: next-gen, purely functional package manager for the Emacs hacker
I have been using straight for a while now and I think it is great! The ability to lazy load everything by default does a lot to make Emacs snappier (or at the very least, faster to boot). Being able to pull packages directly from git (be it local or a forge) makes package development a lot easier. raxod has a lot of really sleek, modern emacs packages that I would encourage everyone to check out, spectrum[0] and ctrf[1] in particular are really great as well.
[0] https://github.com/radian-software/selectrum
-
Use Portage instead of package.el for managing Emacs packages
selectrum
-
Question: Error in post-command-hook
;;https://github.com/raxod502/selectrum (defun force-debug (func &rest args) (condition-case e (apply func args) ((debug error) (signal (car e) (cdr e))))) (advice-add #'selectrum--minibuffer-post-command-hook :around #'force-debug) (selectrum-mode +1) ;; to make sorting and filtering more intelligent (selectrum-prescient-mode +1) ;; to save your command history on disk, so the sorting gets more ;; intelligent over time (prescient-persist-mode +1) (setq completion-styles '(orderless)) ;; Persist history over Emacs restarts (savehist-mode) ;; Optional performance optimization ;; by highlighting only the visible candidates. (setq orderless-skip-highlighting (lambda () selectrum-is-active)) (setq selectrum-highlight-candidates-function #'orderless-highlight-matches) (setq selectrum-prescient-enable-filtering nil) (selectrum-prescient-mode +1) (prescient-persist-mode +1) (use-package marginalia :ensure t :config (marginalia-mode)) (use-package embark :ensure t :bind (("C-." . embark-act) ;; pick some comfortable binding ("C-;" . embark-dwim) ;; good alternative: M-. ("C-h B" . embark-bindings)) ;; alternative for \describe-bindings' :init ;; Optionally replace the key help with a completing-read interface (setq prefix-help-command #'embark-prefix-help-command) :config ;; Hide the mode line of the Embark live/completions buffers (add-to-list 'display-buffer-alist '("\`\Embark Collect \(Live\|Completions\)\" nil (window-parameters (mode-line-format . none))))) ;; Consult users will also want the embark-consult package. (use-package embark-consult :ensure t :after (embark consult) :demand t ; only necessary if you have the hook below ;; if you want to have consult previews as you move around an ;; auto-updating embark collect buffer :hook (embark-collect-mode . consult-preview-at-point-mode))`
- Keybinding autocompletion / helper. Like in doom emacs.
-
Requests for packages to add to NonGNU ELPA?
Selectrum and Prescient would be nice.
What are some alternatives?
prescient.el - ☄️ Simple but effective sorting and filtering for Emacs.
vertico - :dizzy: vertico.el - VERTical Interactive COmpletion
ivy-rich - More friendly interface for ivy.
helm - Emacs incremental completion and selection narrowing framework
Cabal - Official upstream development repository for Cabal and cabal-install
consult - :mag: consult.el - Consulting completing-read
elm-format - elm-format formats Elm source code according to a standard set of rules based on the official Elm Style Guide
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
commonmark - Pure Haskell commonmark parsing library, designed to be flexible and extensible
icomplete-vertical - Global Emacs minor mode to display icomplete candidates vertically
error-message-index - A community-driven collection of documentation for Haskell error messages and warnings
swiper - Ivy - a generic completion frontend for Emacs, Swiper - isearch with an overview, and more. Oh, man!