Giter Site home page Giter Site logo

Comments (6)

theophilusx avatar theophilusx commented on July 19, 2024 2

I think it would be very useful to have a rational-ide module, but with a 'rational' twist.

Emacs has amazing functionality built-in which many users don't even realise. There are lots of features/modes built-in which many users never even realise and many of the external packages which people add actually re-implement features which are already there (but often with a slightly different approach or which use slightly different terminology which makes them difficult to recognise.

What I would like to see is a rational-ide which tries to create a modern IDE using just built-in modes/packages from Emacs and GNU ELPA (and maybe NONGNU ELPA). Where we do find it necessary to go with 'external' packages, prefer ones which also attempt to leverage as much as possible on built-in facilities. For example, eglot over lsp-mode, flymake over flycheck, project.el over projectile etc.

To some extent, I would see rational-ide as a showcase of what you can do to create a modern IDE using Emacs' built-in functionality. Once we have this as a basis, we can then see what gaps we have and how to best fill them. Where possible, perhaps we also add helpers or small libraries to make built-in features easier to use. For example, use a built-in template solution rather than just add yasnippet, make better use of abbrev mode etc.

There will be some situations where an external package offers a significantly better solution than anything built-in and that will be a challenging decision. For example, I'm not sure I can go back to Emacs' VC modes over magit. However, we can deal with those more difficult decisions later.

I also think the above list of what should be in an IDE module is a good starting point.

from crafted-emacs.

jeastman avatar jeastman commented on July 19, 2024 1

Before we touch on the specific packages to integrate (company mode could be replaced with corfu which could be argued to be more closely aligned with the Principles), let's define the functionality one would expect from a "modern IDE".

I am no expert when it comes to "modern IDE"s, but I suspect the beginning of that list would be:

  • In-line completion while typing in source code
  • Support for templates / abbreviation expansion
  • Automatic verification / checking / compilation
  • Automatic formatting to code standard
  • Code overview tools (source outline, etc.)
  • Complex refactoring support

The next decision is if these go into a single module, like rational-ide or are the specific features more generally applicable? Maybe we could try to align each specific feature into existing module as a first step and, failing that, decide on a more focused rational-ide module.

from crafted-emacs.

jeastman avatar jeastman commented on July 19, 2024

The more I think about this, the more I think we need to answer the second question first... Should we have a rational-ide module?

from crafted-emacs.

ajxn avatar ajxn commented on July 19, 2024

Emacs can do so much more then just being an IDE, but except for that.

I agree that the list @jeastman have made is a good start. I also think that we should go as much as possible with with "core" Emacs extensions, as @theophilusx writes.

I like the idea of Rational-emacs as a show case of what Emacs can do. So in many ways some code that is commented in documentation and/or the default config is fines. I had problems with that evil mode was activated per default. I also had some problems with other software/fonts/icons that wasn't installed.

I am even ready to let Magit be something that is mentioned, but commented out, in preference for VC mode.

from crafted-emacs.

HumHongeKamyaab avatar HumHongeKamyaab commented on July 19, 2024

any updates on this ...

from crafted-emacs.

jeffbowman avatar jeffbowman commented on July 19, 2024

Nothing since Feb 26...

PRs gratefully accepted :-)

Give it a shot! There are several people here (including myself) who would potentially review, comment and help you out as needed.

from crafted-emacs.

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.