I talked to someone about the extensibility of emacs, but the person I was speaking to assumed that any IDE is just as extensible by using Plug Ins.

Without turning the conversation into a university style lecture, what is one or two simple actions I can do in emacs to show someone what separates it from other IDES.

  • Horrih@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    For me, it is not the ability to write plugins : most editors have those to some extent.

    For me it’s more about the ease of writing your own customizations and not be limited to those provided by your plugins.

    A few examples

    • don’t like some built in or plugin behavior ? Copy paste the original source code, tweak it to your likint and use add-advice to use your new version
    • just yesterday i had some tests which generated a log in a temporary folder, 5 folders deep. I wrote a new command and bound it to a shortcut that looked for the new log file and opened it after running my tests
    • i wrote a simple log browser : use a few commands to preformat the file with query/replace, and boom with emacs’ outline mode i can fold sections /subsections. This command is 10 lines long.

    The strength of emacs is not its plugins, it’s your ease of making it your own

    • darcamo@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      11 months ago

      A great example of this is this video https://youtu.be/w3krYEeqnyk?si=JKvVsgMO89DbCkhF

      Besides being easy to extend, there are also small general features that are very useful and I haven’t found anywhere else, such as narrowing. And these small features can be combined and composed. For example, suppose you just learned you can use dired to rename a file, now whatever you have already learned to edit text can be used to mass rename files, which could be using macros, using multiple cursors, using a regex query and replace, etc.

    • codemuncher@alien.topB
      link
      fedilink
      English
      arrow-up
      1
      ·
      11 months ago

      VSCode plug-ins is definitely playing in a rich man’s garden: https://code.visualstudio.com/api/extension-capabilities/overview

      You’re allowed to do what they say you can do. There’s a list and it’s not infinite.

      Part of the reason is VScode is very complex. Whereas the core of emacs is a lot simpler. It’s significantly easier to hook into the core of emacs and also safer too.

      The emacs source code has about 250,00 lines of C. And about 1 million lines of elisp (including all bundled packages). You can change all of that elisp at run time.