elpaca
company-mode
elpaca | company-mode | |
---|---|---|
29 | 41 | |
537 | 2,158 | |
- | 0.5% | |
9.5 | 8.6 | |
4 days ago | 9 days ago | |
Emacs Lisp | Emacs Lisp | |
GNU General Public License v3.0 only | 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.
elpaca
-
Zed is now open source
Elpaca [1] does not do this. I use it and it works a treat.
1: https://github.com/progfolio/elpaca
- Package contribution workflow
-
Returning emacs user - what packages are common now?
As others have said your packages work well and should still be widely supported. use-package has been blessed by the maintainers of emacs and will be a default package when Emacs 29 is released. If you are looking for another package manager /u/nv-elisp 's https://github.com/progfolio/elpaca would be a good one to checkout.
-
If you like Straight, you should try Elpaca
One of my biggest challenges with it is for packages that have extensions. Where they just work with Elpa/Melpa but then when you convert over to Elpaca they break and you have to go digging around Elpaca's manual and try to figure out the right file incantation that will make things works.
-
Using package loader (e.g. use-package) in file besides init.el?
;; Example Elpaca configuration -*- lexical-binding: t; -*- (defvar elpaca-installer-version 0.3) (defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory)) (defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory)) (defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory)) (defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git" :ref nil :files (:defaults (:exclude "extensions")) :build (:not elpaca--activate-package))) (let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory)) (build (expand-file-name "elpaca/" elpaca-builds-directory)) (order (cdr elpaca-order)) (default-directory repo)) (add-to-list 'load-path (if (file-exists-p build) build repo)) (unless (file-exists-p repo) (make-directory repo t) (condition-case-unless-debug err (if-let ((buffer (pop-to-buffer-same-window "*elpaca-bootstrap*")) ((zerop (call-process "git" nil buffer t "clone" (plist-get order :repo) repo))) ((zerop (call-process "git" nil buffer t "checkout" (or (plist-get order :ref) "--")))) (emacs (concat invocation-directory invocation-name)) ((zerop (call-process emacs nil buffer nil "-Q" "-L" "." "--batch" "--eval" "(byte-recompile-directory \".\" 0 'force)"))) ((require 'elpaca)) ((elpaca-generate-autoloads "elpaca" repo))) (kill-buffer buffer) (error "%s" (with-current-buffer buffer (buffer-string)))) ((error) (warn "%s" err) (delete-directory repo 'recursive)))) (unless (require 'elpaca-autoloads nil t) (require 'elpaca) (elpaca-generate-autoloads "elpaca" repo) (load "./elpaca-autoloads"))) (add-hook 'after-init-hook #'elpaca-process-queues) (elpaca `(,@elpaca-order)) ;; Install use-package support (elpaca elpaca-use-package ;; Enable :elpaca use-package keyword. (elpaca-use-package-mode) ;; Assume :elpaca t unless otherwise specified. (setq elpaca-use-package-by-default t)) ;; Block until current queue processed. (elpaca-wait) ;;Load your "./modes" files here (cl-loop for mode in (directory-files "./modes" 'full "\\.el$") (load-file mode)) ;; Local Variables: ;; no-byte-compile: t ;; no-native-compile: t ;; no-update-autoloads: t ;; End:
-
How to Make Emacs Look Cooler with Simple Customization
Elpaca. https://github.com/progfolio/elpaca - an alternative to the built in package manager. Very fast with an eminently decent UI, and allows for any or no fine-tuning how any given package should be installed.
-
Emacs lisp huge single file packages
Here's an overview of the current structure of Elpaca:
- Elpaca: The Basics
-
emacs can be "heavy" but still blazingly fast
If you get around to actually measuring it, let me know. I'm collecting data points for comparison with Elpaca.
-
Will any emacs package manager let me audit packages before installing them?
Elpaca has the elpaca-fetch command for this purpose. It fetches a package repository and will display the commit log. Each commit hash is a button which will open a magit diff view if magit is installed. It could very easily be extended to work with vc, ediff, etc. Here's a screenshot of what the update log looks like:
company-mode
-
LSP could have been better
I'm curious to know what `company` does differently here than `corfu`. As a longtime user I couldn't be happier.
https://company-mode.github.io/
-
C β> Guile is moving in the wrong direction: rather than going from a poor-but-performant systems programming language like C to a pedagogic language like Scheme, itβd be a better idea to move to an rich-and-performant language meant for industrial systems programming like Common Lisp
they wrote the first word and auto-completed the rest
-
Doom completion in vanilla emacs
For me, it's http://company-mode.github.io and maybe a touch of all-the-icons..
-
How can I get suggestions for filenames in python?
I'm not sure if I did anything special to enable it, but I'm pretty sure company-mode does this
-
Replacing packages with more "stripped down" packages
When I started using Emacs I was following the setup outlined by System Crafters, which I still think is a really good introduction. But, over the last few months I've started to replace packages with more "minimalist" or "stripped down" packages. I've switched from Ivy and Counsel to Vertico and Consult, and recently I switched from company to corfu for auto-completion.
-
Help a Linux kernel dev setup LSP
As for the Emacs configuration, you should only need a few lines of code, in order to get them up and running, if you are planning to keep your setup as close to vanilla as possible. If you are interested, you could additionally install a completion framework like company-mode to help you out.
-
Which is the best tool to enable extension in emacs?
As for auto-completion, there's a few different variants that people use. Auto-complete being one of them, but an alternative you might want to try is http://company-mode.github.io/
-
Auto-complete previews while typing w/ plug-able back-ends?
For the company-mode see Frontends.
- Let's share your top 3 packages that you can't live without.
-
What are some must-have packages for emacs?
Company is a classic, though corfu and cape, also by Daniel Mendler is really excellent.
What are some alternatives?
elpa-mirror - Create local emacs package repository. 15 seconds to install 115 packages.
corfu - :desert_island: corfu.el - COmpletion in Region FUnction
straight.el - π Next-generation, purely functional package manager for the Emacs hacker.
helm - Emacs incremental completion and selection narrowing framework
consult-notes - Use consult to search notes
eglot - A client for Language Server Protocol servers
ejira - Emacs JIRA integration
vertico - :dizzy: vertico.el - VERTical Interactive COmpletion
toggleterm.nvim - A neovim lua plugin to help easily manage multiple terminal windows
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
GNU Emacs - Mirror of GNU Emacs
posframe - Pop a posframe (just a child-frame) at point, posframe is a **GNU ELPA** package!