Giter Club home page Giter Club logo

Comments (14)

plexus avatar plexus commented on July 17, 2024 2

Unfortunately the corgi username is taken, so we can't name the org that. Maybe corgi-emacs? Any other suggestions?

from corgi.

otfrom avatar otfrom commented on July 17, 2024 1

corgi-emacs for the org name sounds good

from corgi.

plexus avatar plexus commented on July 17, 2024 1

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.

jcmkk3 avatar jcmkk3 commented on July 17, 2024

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.

plexus avatar plexus commented on July 17, 2024

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.

plexus avatar plexus commented on July 17, 2024

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.

theophilusx avatar theophilusx commented on July 17, 2024

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.

theophilusx avatar theophilusx commented on July 17, 2024

UPDATE: Looks like the issue is with corgi-stateline. Having a look now.

from corgi.

plexus avatar plexus commented on July 17, 2024

I just pushed a fix, can you try again?

from corgi.

plexus avatar plexus commented on July 17, 2024

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.

theophilusx avatar theophilusx commented on July 17, 2024

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.

theophilusx avatar theophilusx commented on July 17, 2024

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.

plexus avatar plexus commented on July 17, 2024

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.

theophilusx avatar theophilusx commented on July 17, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.