Just saying thanks for "dark theme"

Today I downloaded and built “8.3.0-4-gad5f0effa” from GitHub, the instructions were flawless, it almost worked first time (I forgot some stuff) and basically I immediately tried the dark theme and it’s pretty nice, so well done and thanks whoever did that.

I also had an idea for a new feature in the editor: multiple cursors / refactor cursor: when the cursor is under a Variable within a predicate, the editor highlights all occurrences of that Variable, and I just wondered how easy/not-easy it would be to introduce a new editor function to “Rename all those vars” at once ?!!? Sure you can use Alt-% to do it but this would be easier from the UI.

If I feel brave enough I will start reading the code…

1 Like

See: Ann: SWI-Prolog 8.1.11

Thanks @jan then!

1 Like

Multiple cursors are really part of the PceEmacs emacs-based design. It is probably possible to fake them though. PceEmacs has fragments that indicate a range in the editor that can be given a style name, which maps to a style object that defines the color, font, etc. Fragments move along with edit operations. This is what is used to highlight the multiple occurrences of a variable in a clause. It shouldn’t be too hard to copy the change of the variable the caret is in to the other fragments.

Is there some standard UI sequence for that in modern code editors?

1 Like

Some inspiration?
IntelliJ: https://www.vojtechruzicka.com/intellij-idea-tips-tricks-multiple-cursors/
Atom Editor: https://atom.io/packages/multi-cursor
Sublime3: https://www.nobledesktop.com/blog/multiple-text-cursors-with-arrow-keys-in-sublime-text
VS Code https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier
Emacs has: http://pragmaticemacs.com/emacs/multiple-cursors/

2 Likes