Anybody Using Geany Editor for Coding Eiffel

55 views
Skip to first unread message

Claude “Duke” Normandin

unread,
Dec 8, 2025, 3:47:12 AM (5 days ago) Dec 8
to Eiffel Users
Or emacs?

I plan to use `gobo' on my Linux box.
I'm a zero fan of monolithic IDEs. TIA ....

Eric Bezault

unread,
Dec 8, 2025, 4:14:20 AM (5 days ago) Dec 8
to eiffel...@googlegroups.com, Claude “Duke” Normandin
Hi Duke,

I'm currently developing a VS Code extension for Eiffel:

https://marketplace.visualstudio.com/items?itemName=gobosoft.gobo-eiffel

Will that work for you? If you really want to use Geany,
I can see that they recently added support for LSP (Language
Server Protocol):

https://www.geany.org/news/geany-plugins-21-are-out/
https://plugins.geany.org/lsp.html

The good news is that my VS Code extension for Eiffel is
also using LSP. The Gobo package contains `gelsp`, which
is a language server for Eiffel. I don't know whether it
will work out of the box with Geany, but it's worth a try.

Currently my priority is to add all the missing functionalities
in the VS Code extension for Eiffel. When that done I might
consider looking at other editors supporting LSP (like Sublime
or Geany) and see what needs to be done to make `gelsp` work
with them.

--
Eric Bezault
mailto:er...@gobosoft.com
http://www.gobosoft.com

rfo amalasoft.com

unread,
Dec 8, 2025, 7:47:30 AM (5 days ago) Dec 8
to eiffel...@googlegroups.com
I use emacs (despite the chortles and chants from the peanut gallery).  I've tweaked the old emacs mode Lisp code a few times - a very nice capability, you know, to be able to adapt your text editor to the syntax of the language you're using, and to the format you prefer.  Sure, the Lisp code could use a few more updates right about now, but it still works well for me, despite the notorious repetitive stress injuries from using the control key a bit too often.
Roger

From: eiffel...@googlegroups.com <eiffel...@googlegroups.com> on behalf of Claude “Duke” Normandin <sidney.r...@gmail.com>
Sent: Sunday, December 7, 2025 11:37 PM
To: Eiffel Users <eiffel...@googlegroups.com>
Subject: [eiffel-users] Anybody Using Geany Editor for Coding Eiffel
 
Or emacs?

I plan to use `gobo' on my Linux box.
I'm a zero fan of monolithic IDEs. TIA ....

--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/b666c12d-12a9-4b44-b127-3f055fbe1b5an%40googlegroups.com.

Liberty Lover

unread,
Dec 8, 2025, 9:52:53 AM (5 days ago) Dec 8
to Eiffel Users
These are all great options and I like that we are unbound from just EiffelStudio. However, when we're not using ES, what are our compiler options? Are we still void-safe and SCOOP-capable?

Eric Bezault

unread,
Dec 8, 2025, 10:46:45 AM (5 days ago) Dec 8
to eiffel...@googlegroups.com, Liberty Lover
On 08/12/2025 15:52, Liberty Lover wrote:
> These are all great options and I like that we are unbound from just
> EiffelStudio. However, when we're not using ES, what are our compiler
> options? Are we still void-safe and SCOOP-capable?

For what the VS Code extension is concerned, you can select an
ECF file and target, and the compilation options will be those
specified there, including void-safe and concurrency capabilities.

Ulrich Windl

unread,
Dec 8, 2025, 11:02:34 AM (5 days ago) Dec 8
to eiffel...@googlegroups.com
Hi!

As an old Emacs user (I think I started with version 18.57) it's not the control key when working in text mode (as opposed to graphical mode), but the caps lock, the "Fn" and the "Windows" key that make me shout out loud occasionally when I had pressed them unintentionally...

Long time ago I had read some criticism about the "vi" editor, and I 'd like to share it with you: "those guys (who implemented it) were two-fingered, that's for sure" 😉

Ulrich

08.12.2025 13:47:24 rfo amalasoft.com <r...@amalasoft.com>:

> I use emacs (despite the chortles and chants from the peanut gallery).  I've tweaked the old emacs mode Lisp code a few times - a very nice capability, you know, to be able to adapt your text editor to the syntax of the language you're using, and to the format you prefer.  Sure, the Lisp code could use a few more updates right about now, but it still works well for me, despite the notorious repetitive stress injuries from using the control key a bit too often.
> Roger
> ----------------------------------------
> *From:* eiffel...@googlegroups.com <eiffel...@googlegroups.com> on behalf of Claude “Duke” Normandin <sidney.r...@gmail.com>
> *Sent:* Sunday, December 7, 2025 11:37 PM
> *To:* Eiffel Users <eiffel...@googlegroups.com>
> *Subject:* [eiffel-users] Anybody Using Geany Editor for Coding Eiffel
>  
> Or emacs?
>
> I plan to use `gobo' on my Linux box.
> I'm a zero fan of monolithic IDEs. TIA ....
> --
> You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/b666c12d-12a9-4b44-b127-3f055fbe1b5an%40googlegroups.com[https://groups.google.com/d/msgid/eiffel-users/b666c12d-12a9-4b44-b127-3f055fbe1b5an%40googlegroups.com?utm_medium=email&utm_source=footer].
> --
> You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/DS0PR08MB9424574F56BCB542AA83A3C0A0A2A%40DS0PR08MB9424.namprd08.prod.outlook.com[https://groups.google.com/d/msgid/eiffel-users/DS0PR08MB9424574F56BCB542AA83A3C0A0A2A%40DS0PR08MB9424.namprd08.prod.outlook.com?utm_medium=email&utm_source=footer].

rfo amalasoft.com

unread,
Dec 8, 2025, 11:30:02 AM (5 days ago) Dec 8
to eiffel...@googlegroups.com
Old?  Don't make me laugh 🙂  I started with Gosling Emacs, before there was a Gnu Emacs.  On a vt100.  I used EDT when I was on a vt52, and, well, that's back far enough I guess.  I forget what I used when on an LA35; probably the backspace key 🙂.
R

From: eiffel...@googlegroups.com <eiffel...@googlegroups.com> on behalf of Ulrich Windl <u202...@gmail.com>
Sent: Monday, December 8, 2025 11:02 AM
To: eiffel...@googlegroups.com <eiffel...@googlegroups.com>
Subject: Re: [eiffel-users] Anybody Using Geany Editor for Coding Eiffel
 

Duke Normandin

unread,
Dec 9, 2025, 2:46:00 AM (4 days ago) Dec 9
to eiffel...@googlegroups.com
On Mon, 8 Dec 2025 12:47:24 +0000
rfo amalasoft.com <r...@amalasoft.com> wrote:

> I use emacs (despite the chortles and chants from the peanut
> gallery).

You bet! I've been using emacs for at least 20 years. I did find an
old eiffel.el file on the 'net. I was hoping for something a bit
more up-to-date or something for geany. I'll figure something out.
Thx ..

--
Duke

Duke Normandin

unread,
Dec 9, 2025, 2:46:07 AM (4 days ago) Dec 9
to eiffel...@googlegroups.com
On Mon, 8 Dec 2025 10:14:17 +0100
Eric Bezault <er...@gobosoft.com> wrote:

> Hi Duke,
>
> I'm currently developing a VS Code extension for Eiffel:

Thx for the heads-up ...

> Will that work for you? If you really want to use Geany,
> I can see that they recently added support for LSP (Language
> Server Protocol):
>
> https://www.geany.org/news/geany-plugins-21-are-out/
> https://plugins.geany.org/lsp.html

Thx again .....

> The good news is that my VS Code extension for Eiffel is
> also using LSP. The Gobo package contains `gelsp`, which
> is a language server for Eiffel. I don't know whether it
> will work out of the box with Geany, but it's worth a try.

I'll give it a shot! Why not ...

> When that done I might
> consider looking at other editors supporting LSP (like Sublime
> or Geany) and see what needs to be done to make `gelsp` work
> with them.

Right on ....

--
Duke

rfo amalasoft.com

unread,
Dec 9, 2025, 8:03:46 AM (4 days ago) Dec 9
to eiffel...@googlegroups.com
Here's one I use (and have tweaked a bit).  Yes, it's also out of date, but then, so am I.  I'm including other .el files I use, for what it's worth.
R

From: 'Duke Normandin' via Eiffel Users <eiffel...@googlegroups.com>
Sent: Monday, December 8, 2025 11:53 AM
To: eiffel...@googlegroups.com <eiffel...@googlegroups.com>
Subject: Re: [eiffel-users] Anybody Using Geany Editor for Coding Eiffel
 
--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
subdirs.el
default.el
eiffel.el
lua-mode.el

Alejandro Garcia

unread,
Dec 9, 2025, 8:15:31 AM (4 days ago) Dec 9
to Eiffel Users
Thank you! As a fellow emacs + eiffel user.

Alejandro García F. (elviejo)

Too brief? Here's why! http://emailcharter.org

EOM – End Of Message. The whole message is in the subject don't need to open it.
NNTR – No Need To Respond. Help cut down on all those “cool” and “thanks” emails.
SINGLE SUBJECT. Send one email for one topic, this makes replies easy..
CLEAR CALL TO ACTION: Ask for some specific result very clearly.

Duke Normandin

unread,
Dec 9, 2025, 9:17:59 AM (4 days ago) Dec 9
to eiffel...@googlegroups.com
On Tue, 9 Dec 2025 13:03:36 +0000
rfo amalasoft.com <r...@amalasoft.com> wrote:

> Here's one I use (and have tweaked a bit). Yes, it's also out of
> date, but then, so am I. I'm including other .el files I use,
> for what it's worth.

Thank you!!
--
Duke

Liberty Lover

unread,
Dec 9, 2025, 1:50:10 PM (4 days ago) Dec 9
to Eiffel Users
Eric,

Where are you on the LSP front for Eiffel?

Liberty Lover

unread,
Dec 9, 2025, 1:51:26 PM (4 days ago) Dec 9
to Eiffel Users
@Eric or anyone -->  Possible??

On Monday, December 8, 2025 at 10:46:45 AM UTC-5 er...@gobosoft.com wrote:

Liberty Lover

unread,
Dec 9, 2025, 1:56:22 PM (4 days ago) Dec 9
to Eiffel Users
QUESTION: What are the top-3 items that get the most traction in making Eiffel and
simple_* competitive?

Thoughts???

---

● Based on the honest assessment:

  Top 3 for Maximum Traction:

  1. LSP for VSCode (Weeks)
    - Removes the #1 adoption blocker
    - Every developer can use their preferred editor
    - Makes Eiffel feel modern
    - Eric's working on it, or we build simple_lsp
  2. EWF Replacement (Months)
    - Unlocks SCOOP for web (Eiffel's killer feature actually works)
    - Full control, no ISE black box
    - Native sockets + inline C = our pattern
    - Enables real benchmarks vs Go/Node/Rust
  3. Published Benchmarks (Days-Weeks)
    - simple_json vs serde_json vs encoding/json
    - simple_web (post-EWF) vs Gin vs Actix vs Express
    - Reproducible, honest, public
    - Without data, everything is marketing

  Why these three:
  - LSP removes friction (people will try it)
  - EWF replacement enables the value proposition (SCOOP concurrency)
  - Benchmarks prove it works (people will trust it)

  Everything else (community, docs, gap-filling) follows from having something worth adopting.

Liberty Lover

unread,
Dec 9, 2025, 1:59:32 PM (4 days ago) Dec 9
to eiffel...@googlegroups.com
  1. Depending on where Eric is at with LSP ... perhaps we need a good ole horserace??
  2. EWF replacement is months??? I scoff of that, sir!!!
  3. Benchmarks?? Well, yeah ... exactly!! but that's a bridge to cross later after #1 and #2
Challenging? Sure. Thoughts? Feedback?

Impossible challenges give impossible results.

--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.

Eric Bezault

unread,
Dec 9, 2025, 3:10:34 PM (3 days ago) Dec 9
to eiffel...@googlegroups.com, Liberty Lover
Hi Larry,

- Go to definition: DONE
- Find references: Soon
- Note: An implementation using grep for usage patterns
is useless, VS Code already has a search panel which
does that very well.
- Hover documentation: DONE
- Diagnostic errors: DONE (reports error as you type)
- Code completion: Soon

Also:

- Syntax highlighting
- Clickable list of features per class
- Compilation (no breakpoint yet, but soon)

I think that what is already available is more robust than
what is suggested in Phase 2. Saying that "we don't need
deep compiler integration" means that we don't handle
multiple inheritance, with renaming etc. right; we won't
go to the correct definition of `f` because we don't know
the type of `a` in `a.f`; etc. etc.... Relying on external
calls to `ec -batch` and parsing its output will be way
much slower than having a compiler integration, so impossible
to have errors reported as you type. So the plan for Phase 2
seems over simplistic to me.

The language server for Eiffel is already usable in VS Code.
What is already implemented is documented here:

https://marketplace.visualstudio.com/items?itemName=gobosoft.gobo-eiffel

---

Now, about phase 1, Remove the EWF Dependency:

- Poorly maintained
- A black box we don't control
- This is building a web framework from scratch

Why rebuilding from scratch?
Why not ask Clause to take over the maintenance of EWF, fix
the issues, add SCOOP support, etc. It's not more a back
box that we don't control than what Simple is: its code is
on github, available for anyone to have a look at it and improve
it.
Why do you think that the new build will be better than what
we have? Better because it supports SCOOP? Better because
there was no modifications in the repository for years? Does
that mean that the new implementation will have less bugs,
will be more robust, will be easier to use, will still have
a maintainer next year? Maybe not.

And BTW, is EWF really lacking support for SCOOP? In
CHANGELOG.md I can see "Made library ecf compilable in scoop
concurrency mode by default". Did you investigate by yourself
to conclude that it does not support SCOOP, or did you blindly
trust what Clause said?
On 09/12/2025 19:51, Liberty Lover wrote:
> @Eric or anyone --> Possible?? <https://github.com/simple-eiffel/
> claude_eiffel_op_docs/blob/main/plans/
> competitive_assessment_2025.md#phase-2-lsp-implementation-critical-for-
> adoption>
> http://www.gobosoft.com <http://www.gobosoft.com>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Eiffel Users" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to eiffel-users...@googlegroups.com <mailto:eiffel-
> users+un...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-
> users/08a3fd8e-f74e-4e1b-9de3-24a072aee531n%40googlegroups.com <https://
> groups.google.com/d/msgid/eiffel-users/08a3fd8e-
> f74e-4e1b-9de3-24a072aee531n%40googlegroups.com?
> utm_medium=email&utm_source=footer>.



Jocelyn Fiat

unread,
Dec 9, 2025, 3:35:03 PM (3 days ago) Dec 9
to eiffel...@googlegroups.com, Liberty Lover
Hi all,

Just to comment quickly on recent messages.

EWF, the Eiffel Web framework supports all the known Eiffel concurrency modes: none, thread and SCOOP.
And it is actively maintained.

You may also want to look at the Eiffel CMS solution that is also fully SCOOP capable (see https://github.com/EiffelSoftware/es-libraries/tree/master/Src/unstable/library/web/cms)

So I am not sure why it is said that EWF lacks support for SCOOP. But this is clearly wrong.

In fact, most of the libraries that come with EiffelStudio are SCOOP capable (except for the dotnet compilation, as SCOOP is not yet ported to Eiffel .NET).


Sorry for polluting this thread about Geany Editor, but I wanted to answer about EWF, and SCOOP.

And thanks Larry for sharing all his experiences and results using AI with Eiffel.


To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/c2204750-6b51-4d0c-851f-d1a6f11484a5%40gobosoft.com.


--
Jocelyn
------------------------------------------------------------------------
Eiffel Software
https://www.eiffel.com
Customer support: https://support.eiffel.com
User group: https://groups.google.com/forum/#!forum/eiffel-users
------------------------------------------------------------------------

Ulrich Windl

unread,
Dec 10, 2025, 6:03:06 AM (3 days ago) Dec 10
to eiffel...@googlegroups.com
Hi!

I didn't actually look at your language server, but I started wondering:
When ISE Eiffel compiles a system, it creates a "database of metadata" about that system. What if one had a query-like API (Maybe even some command-line tool to query that)?
The Eiffel IDE can answer most questions from within the IDE, but getting those from any tools seems to be nice.

Ulrich

09.12.2025 21:10:28 Eric Bezault <er...@gobosoft.com>:
> To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/eiffel-users/c2204750-6b51-4d0c-851f-d1a6f11484a5%40gobosoft.com.

Liberty Lover

unread,
Dec 10, 2025, 6:28:16 AM (3 days ago) Dec 10
to eiffel...@googlegroups.com
  Ulrich, you raise an excellent point about ISE's compiler metadata.

  You're absolutely right - when ec.exe compiles a system, it generates rich semantic information that a parser-based approach
  simply cannot replicate:

  - Full type resolution and generic instantiation
  - Complete inheritance chains with feature merging
  - Contract evaluation and conformance relationships
  - Feature call graphs

  Our current simple_LSP takes a parser-only approach because:
  1. It works on code that doesn't compile yet (useful while editing)
  2. It's fast - no compilation needed
  3. It works without project configuration

  But the ideal solution would be a hybrid approach:
  - Parser-based for immediate editing feedback (works on broken code)
  - Compiler metadata for accurate semantic queries (post-compile)

  The question is: does ISE expose a programmatic API to that metadata? If there's a way to query the compiled database
  externally, that would be immensely valuable. I'd be interested to know:

  1. Where is this metadata stored? (EIFGENs somewhere?)
  2. Is there a documented format or existing query tool?
  3. Has anyone explored programmatic access to it?

  This could significantly enhance what simple_lsp can offer for compiled projects.

NOW — What I am doing is having Claude tear apart a fresh post-compile EIFGENs to see what it can make of anything useful to your point. Standby ...

Here is Claude's research results and a plan to implement it.

FWIW: THANK YOU for the inspiration to look in the EIFGENs for the "Gold". That was brilliant!! (me saying that ... not Claude).

----

Here is the response.



Reply all
Reply to author
Forward
0 new messages