FAQ
Why another source-code editor?
I wanted a functional but light editor, language-agnostic, multi-platform, easily hackable, to browse and edit projects without storing metadata on disk.
Typical issues with other editors I used:
- Notepad++: win32 only, no proper dark theme (as of 2020).
- SciTE: no proper dark theme, no project support, extensions only in Lua.
- VS Code: tends to become bloated, caches gigabytes of whatever metadata.
- GNOME-Builder: no block/column edition mode, caches metadata, Linux only.
On the other hand, EdiTidE was designed around:
- Good multi-platform support, thanks to the GLib/Gtk frameworks.
- Coded in Python, that allows to hack the sources without any extra toolchain or compiler.
- Extensions don’t require anything more than a simple *.py file.
What’s the implementation status?
The software is still beta-quality.
It’s perfectly usable (I use it daily), but definitely needs some polishing and improvements.
Is EdiTidE user-friendly?
Well, not by design. This app was done by myself for myself, so may not fit everyone’s habits.
Important is to learn
the keyboard shortcuts (run help shortcuts
from the command bar)
and the available commands (help commands
).
Extensions can be used to improve the customization.
How do I change the editor’s font?
Fonts are controlled by CSS style sheets. Users can define their own
styles in ${XDG_CONFIG_HOME}/editide/gtk4.css
.
For example, this selects the FiraCode font, which supports ligatures:
.editide-class-sourcecode {
font-family: FiraCode;
}
The CSS class editide-class-sourcecode
is applied to all elements
displaying source code.
How do I change the highlight style?
Set highlight_theme_light
and highlight_theme_dark
in the settings
(see configuration).
Themes are managed by GtkSourceView, and are typically located under:
/usr/share/gtksourceview-5/styles/
${XDG_DATA_HOME}/gtksourceview-5/styles/
More themes can be downloaded from GNOME Builder.
Resources:
How to support new languages?
For the syntax highlighting, it’s managed by GtkSourceView. The languages definitions are typically located under:
/usr/share/gtksourceview-5/language-specs/
${XDG_DATA_HOME}/gtksourceview-5/language-specs/
For the symbols tree and completion, it’s provided by universal-ctags.
Resources:
I can’t see all the symbols of my source file!
Usually, ctags only reports public symbols by default, but this can be tweaked by requesting extra kinds.
Example of user configuration, under ${HOME}/.config/ctags/custom.ctags
:
--kinds-C=+Lpx
--kinds-C++=+Lpx
--map-C#=+.vala
--map-C#=+.vapi
--map-xml=+.ui
--param-CPreProcessor._expand=true
ctags configuration can also be placed in a folder .ctags.d/
at the root path of projects.
How to use the block mode?
TODO