Comments (14)
Unfortunately the corgi
username is taken, so we can't name the org that. Maybe corgi-emacs
? Any other suggestions?
from corgi.
corgi-emacs for the org name sounds good
from corgi.
Corkey is now its own repo, and I wrote up what I think is a fairly complete README. I was surprised I hadn't done a better write-up before, besides a few paragraphs in the corgi manual. This will hopefully help clear up some confusion and help people appreciate how they can leverage the power of Corkey.
Since the key bindings themselves are policy not mechanism I've split them into a separate corgi-bindings
package, which will likely remain under corgi-packages
.
I've also moved corgi, corgi-packages, and walkclj to corgi-emacs
, extracted clj-ns-name
from plexmacs, added READMEs to walkclj and clj-ns-name, and added a .github/profile/README.md
which shows on the corgi-emacs org page.
There's a bunch of churn going on right now, so expect fresh installs to be broken for the next couple of days. I can only spend a bit of time on this every day, but I think we should be in a more stable state again by the weekend.
Basically my plan is
- extract the packages I want to extract (all the "mechanism" packages)
- move them all to
corgi-emacs
- update the straight package repo (
corgi-pacakges.el
) so all the git references are correct - update the sample config to reflect some of these changes
- write up some CHANGELOG notes to help existing users migrate (will have to change a few lines in their config, not much)
from corgi.
This sounds like a good idea. I especially like the idea of splitting out corkey into its own package. I view that as one of the killer features of this emacs configuration. I also like the idea of removing the which-key dependency, as well. Maybe transient (now included in emacs 28) could be the basis for the keybinding display.
from corgi.
That's really good to hear :) I'm really happy with how corkey turned out! Is there anything in particular you like about it?
There's an issue with some notes (#13) about replacing which-key.
from corgi.
I've migrated everything to corgi-emacs, and made sure the sample config works again. There are still a few packages I'd like to extract, but I'll do that in a second pass, I wanted to get to a stable point again first.
Left to extract
- corgi-stateline
- pprint-to-buffer
I would really appreciate it if folks could try out migrating their own config.
- in
bootstrap.el
(if you follow the sample layout), change the packages repo location from lambdaisland to corgi-emacs
(use-package corgi-packages
:straight (corgi-packages
:type git
:host github
:repo "corgi-emacs/corgi-packages"))
When loading corgi-stateline, also enable it, since it's a mode now
(use-package corgi-stateline
:config
(global-corgi-stateline-mode))
Include corgi-bindings
, the corgi-keys
/corgi-signals
files are in here now
(use-package corgi-bindings)
Remove the corgi-packages
versions from straight/versions/default.el
, to force it to upgrade.
# On Linux you can do this, -i doesn't work the same way on mac, in that case just do it manually
sed /corgi-packages/d -i straight/versions/default.el
What I would recommend after that is to remove straight/repos
and to move straight/versions/corgi-versions/corgi.el
out of the way. You may want to keep it somewhere for reference, in case you want to revert any package later on. I did some general version bumps so we might discover breakage.
Now start emacs and let it rebuild. I would recommend not shutting down your existing instance just yet, leave it running so you have a working editor to potentially troubleshoot and fix issues.
I would run this one separately in a terminal
emacs -nw --debug-init
That's going to be busy for a while downloading and rebuilding. You'll get a lot of warnings too, I've tried to clean up most of our warnings, and actually found a few bugs that way, but it's still showing many, most in other packages.
from corgi.
Just FYI I tried a quick fresh vanilla install, but it fails with a wrong type argument; sequencp normal error, which I'm guessing is related to bindings or corkey. Unfortunately, adding --debug-init does not generate a backtrace, so I've not yet narrowed it down.
This is with the sample config from a fresh clone of corgi-emacs/corgi
from corgi.
UPDATE: Looks like the issue is with corgi-stateline. Having a look now.
from corgi.
I just pushed a fix, can you try again?
from corgi.
The problem was with cl-case, interpreting this (normal ...)
as a function call
(cl-case evil-state
(normal ...)
(visual ...)
...)
I've seen that happen before, that you're doing something in a macro, but sometimes it doesn't realize it's a macro. It happened in the past with parseclj/parseedn where people would report these bugs on specific versions of emacs, and I would rewrite that in simpler terms (as I did here, just used a cond).
I think it might have to do with the fact that I wasn't requiring cl-lib
explicitly, and so the compiler didn't realize it's actually a macro?
from corgi.
Yes, just found it as well. You might be right re: require cl-lib. It does seem to work if you put it in a list i.e.
(cl-case evil-state
((normal) ...)
((visual) ...)
...)
but shouldn't be needed if it is working correctly as a macro.
Will pull the update and test now.
from corgi.
Yep, that seems to have fixed it. Successfully installed a fresh vanilla version - now off to update my version.
BTW I've found a few problems with the current completions setup (found before the changes). Will put together a PR with fixes for review. You may notice one of the minor 'errors'.
As an example, you may have noticed one. When you do M-x global-corgi-stateline-mode, it echos a message telling you that you can run the command with a shorter name. Unfortunately, that facility doesn't work with ivy and in a normal ivy install where you set M-x to consel-M-x, ivy disables the short command name feature to prevent user confusion.
from corgi.
Strangely I don't think I've ever seen that message... Maybe I didn't notice or maybe it's a setup difference?
from corgi.
It flashes past quickly and is followed by the message about the mode being enabled. However, you should be able to see it in the Messages buffer. I certainly see it with a vanilla install.
from corgi.
Related Issues (20)
- Corkey needs support for mode/key-maps HOT 2
- Corkey how do I define only insert mode commands? HOT 1
- Consider replacing which-key HOT 4
- Status and direction? HOT 6
- corgi-stateline not working HOT 8
- Emacs version and compatibility HOT 2
- Where to put "snippets"? HOT 1
- Smart completion packages HOT 6
- Do we actually want evil-unimpaired HOT 5
- Corkey grammar question HOT 4
- clj-refactor, clj-kondo, clojure-lsp HOT 6
- Corgi key binding policy HOT 1
- evil-escape package for alternative Esc keybindings HOT 2
- Update straight.el URL
- What is the best way to refactor in corgi? HOT 3
- Integrating 'jj' or 'jk' into corgi config. HOT 1
- Looking up functions HOT 2
- Corgi is not initialising correctly, error: could not find package string-edit HOT 6
- Typo User instead of corgi HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from corgi.