sly
consult
sly | consult | |
---|---|---|
14 | 91 | |
1,216 | 1,112 | |
- | - | |
4.7 | 9.0 | |
6 days ago | 7 days ago | |
Common Lisp | Emacs Lisp | |
- | GNU General Public License v3.0 only |
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.
sly
-
I programmed a SLY completion backend, it works, but I could use some help fine tuning it.
please someone create a pull request (or issue) on SLY github, to make it available to other SLY users. (I do not wish to have a github account and don't care about the copyright)
-
Font Identification Request
Probably a silly question. I saw some Emacs gifs in sly’s README and found the font simple but comfortable. Would anyone using the same font mind sharing his/her setup?
-
Lisp and cybersecurity !
I think lisp languages have a culture of not caring about security, (total speculation here) with roots going back to stallman decrypting the passwords and restoring anonymous access in the MIT lab. For example, quicklisp the main package manager people are using with common lisp is pulling packages over http. Normal lisp development spawns a tcp socket that accepts arbitrary code to execute. Emacs recently pushed a release fixing a vuln not because they thought it was important, but because their users cared and they realize it's a bad look to not push timely fixes to known vulns. All those I can't really fault cause they're just people in their free time, but clojure has major industry use and the default html templater (hiccup) doesn't escape html by default (well it does in version 2 but that's still alpha so most are on version 1), leading to most web backends written in clojure having cross-site scripting (XSS) vulns.
-
So i wanna learn Common Lisp
With emacs your two choices are either SLIME or SLY. Slime is a good place to start - it's rock solid. Once you get moving you can make a judgement call on whether or not SLY has features you'd like over what SLIME has available.
-
Are there plugins for Neovim that don't exist, that should exist, in your opinion?
A proper Neovim client for Slime or Sly. The closest is Vlime, but its UI is really janky.
- Sly: Sylvester the Cat's Common Lisp IDE
-
What does your workflow look like on Linux?
SLIME or SLY for Common Lisp (if you want to work with it), Geiser for various Schemes
-
Basic dev environment setup
This may sound very threatening, but Emacs is the champion for lisp/scheme support out of the box in my opinion. If you are trying Common Lisp, check sly: https://github.com/joaotavora/sly It’s installable via melpa: https://melpa.org/#/getting-started
-
SLY with ListWorks
I have a Hobbyist version of LispWorks and would like to use it with SLY. However I get this weird behavior as expressed in: https://github.com/joaotavora/sly/discussions/513
-
Difficulty installing packages with quicklisp
I tried to quickload c-mera into sbcl (using Emacs and SLY on Linux (SLIME should work, too)) and succeeded. here is what I did: 1) git clone https://github.com/kiselgra/c-mera 2) git clone https://github.com/didierverna/clon 3. open a SLY-REPL and (ql:quickload "net.didierverna.clon"), be sure it succeeds, if not check asdf paths 4. change to c-mera directory and do a dos2unix file on all files in all (sub)directories. 5. run autoreconf -if 6. run ./configure --with-sbcl 7. run make this failed on my system, I didn't try to solve that 8. open the SLY-REPL and enter (ql:quickload "c-mera") 9. in SLY-REPL enter (ql:quickload "cmu-c") 10. in SLY-REPL enter (in-package :cmu-c) 11. in SLY-REPL enter (cm-reader) 12. in SLY-REPL run first example code from readme
consult
-
Emacs Advent Calendar 9: devdocs, code-cells, dREPL, etc.
BTW, as an alternative to swiper, you can check out consult-line and related commands from consult.
-
Project grep search with folded results, navigable file preview, search term and results window retention?
Consult is what you are looking for: https://github.com/minad/consult In particular try consult-ripgrep
-
Emacs 29.1 Released
Emacs has code peek.
With lsp-mode it has that little window: https://emacs-lsp.github.io/lsp-ui/#lsp-ui-peek
Personally I use eglot with consult which temporarily switches the entire buffer to do the "peek" functionality rather than popping up a tiny window: https://github.com/minad/consult
-
Highlight multiple lines in consult-line
Thanks for working on this! I just added a consult--maybe-recenter function in a recent commit. This is a nice idea since it can reduce the jumpiness of Consult preview quite a bit.
-
Returning emacs user - what packages are common now?
An example relevant to your list would be some changes many people are taking with their completion framework - using package that leverage core emacs functionality rather than replacing it with a complete package that 'overrides' it. Consult, vertico, orderless and associate packages come to mind here. If you do a bit of a search you'll find plenty of info. Here is a video from Prot on the subject, but there are many others as well. I think Prot actually went on to write his own completion system to overlay native emacs functionality as well.
-
What's that email client doing here?
For the "lauch workspaces", I use burly which just uses simple bookmarks. Then with consult, I just use C-x b, then m to narrow to bookmarks and I have all the workspaces available (remote as well).
-
What is wrong with this face definition??? (error "Invalid face" bookmark-menu-heading)
Debugger entered--Lisp error: (error "Invalid face" bookmark-menu-heading) internal-set-lisp-face-attribute(bookmark-menu-heading :family unspecified 0) set-face-attribute(bookmark-menu-heading nil :foreground unspecified :background unspecified :family unspecified :slant unspecified :weight unspecified :height unspecified :underline unspecified :overline unspecified :box unspecified :inherit nano-face-strong) set-face(bookmark-menu-heading nano-face-strong) #() eval-after-load-helper("/usr/local/share/emacs/29.0.90/lisp/bookmark.elc") run-hook-with-args(eval-after-load-helper "/usr/local/share/emacs/29.0.90/lisp/bookmark.elc") do-after-load-evaluation("/usr/local/share/emacs/29.0.90/lisp/bookmark.elc") require(bookmark) byte-code("\300\301!\210\300\302!\210\303\304\305\306\307\310\307\311\307\312\313\314\313\315\313\316\317\320&\21\210\321\322\323\324\325DD\326\327\330%\210\321\331\323\324\332DD\333\327..." [require compat bookmark custom-declare-group consult nil "Consulting `completing-read'." :link (info-link :tag "Info Manual" "(consult)") (url-link :tag "Homepage" "https://github.com/minad/consult") (emacs-library-link :tag "Library Source" "consult.el") :group files outlines minibuffer :prefix "consult-" custom-declare-variable consult-narrow-key funcall function #f(compiled-function () #) "Prefix key for narrowing during completion.\n\nGood ..." :type (choice key (const nil)) consult-widen-key #f(compiled-function () #) "Key used for widening during completion.\n\nIf this ..." (choice key (const nil)) consult-project-function #f(compiled-function () #) "Function which returns project root directory.\nThe..." (choice function (const nil)) consult-async-refresh-delay #f(compiled-function () #) "Refreshing delay of the completion UI for asynchro..." float consult-async-input-throttle #f(compiled-function () #) "Input throttle for asynchronous commands.\n\nThe asy..." consult-async-input-debounce #f(compiled-function () #) "Input debounce for asynchronous commands.\n\nThe asy..." consult-async-min-input #f(compiled-function () #) "Minimum number of letters needed, before asynchron..." natnum consult-async-split-style #f(compiled-function () #) "Async splitting style, see `consult-async-split-st..." ...] 18) require(consult) byte-code("\300\301!\210\302\303\304\305#\210\306\211\203,\0\211@\303\1N\203%\0\304\1N\204%\0\307\304\2\303\4N#\210\1A\266\202\202\13\0\210\310\303\304\311#..." [require consult defvaralias consult-notes-sources consult-notes-file-dir-sources nil (saved-value saved-variable-comment) put make-obsolete-variable "0.6" consult-notes--all-sources consult-notes-all-sources custom-declare-group consult-notes "Search notes with consult." :group convenience custom-declare-variable consult-notes-category funcall function #f(compiled-function () #) "Category symbol for the notes in this package." :type symbol #f(compiled-function () #) "Sources for `consult-notes'." (repeat symbol) #f(compiled-function () #) "Directories of files for searching with `consult-n..." (list string key string) consult-notes-file-dir-annotate-function #f(compiled-function () #) "Function to call for annotations of file note dire..." consult-notes-use-rg #f(compiled-function () #) "Whether to use ripgrep or just grep for text searc..." boolean consult-notes-ripgrep-args #f(compiled-function () #) "Arguments for `ripgrep' and `consult-notes-search-..." string consult-notes-grep-args #f(compiled-function () #) "Arguments for `grep' and `consult-notes-search-in-..." consult-notes-default-format #f(compiled-function () #) "Default format for `consult-notes' open function." sexp consult-notes-max-relative-age ...] 8) (consult-notes-org-headings-mode) eval-buffer() ; Reading at buffer position 2730 funcall-interactively(eval-buffer) call-interactively(eval-buffer record nil) command-execute(eval-buffer record) execute-extended-command(nil "eval-buffer" "eval-bu") funcall-interactively(execute-extended-command nil "eval-buffer" "eval-bu") call-interactively(execute-extended-command nil nil) command-execute(execute-extended-command)
-
Why does elpaca make emacs startup so much faster?
Wow, interesting that my response is getting down voted. It seems not enough that I give away my work for free. Nevertheless I appreciate support from the community, as other Emacs package developers. The support is actually helpful. To clarify, publishing my configuration would translate into quite a bit of work, requiring separation of private and public bits.
-
Which package manager should I use?
They're still coming in. This one is from yesterday: https://github.com/minad/consult/issues/793
-
Alternative keyboard layouts
If you like meow-visit also try imenu it is built into Emacs and can be very useful either by itself or as part of consult. consult also has a consult-mark function that can be helpful, meow kind of breaks it since it makes a lot of marks.
What are some alternatives?
slime - The Superior Lisp Interaction Mode for Emacs
helm - Emacs incremental completion and selection narrowing framework
portacle - A portable common lisp development environment
consult-projectile
land-of-lisp-using-hunchentoot - Convert code for "Dice of Doom" from Barski's "Land of Lisp" to use Hunchentoot web server.
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
cl-permutation - Permutations and permutation groups in Common Lisp.
vertico - :dizzy: vertico.el - VERTical Interactive COmpletion
fiveam-asdf - ASDF plug-in for defining test systems based on the FiveAM test library
swiper - Ivy - a generic completion frontend for Emacs, Swiper - isearch with an overview, and more. Oh, man!
cl-warehouse - A sample Warehouse management app in Common Lisp
selectrum - 🔔 Better solution for incremental narrowing in Emacs.