Support for specific features
Posted: 14.10.2018 23:14
Hello,
I am looking for a good editor with specific features.
Can you provide some info about support for those features in CudaText editor?
I've posted a request on Software recommendation SE:
https://softwarerecs.stackexchange.com/q/52682/40949
As I see there is support for e.g. Python scripting. But I am unsure
about other features. So can you comment on these points please.
Here is the text, in case the link dont work:
--------------
### List of required features:
1. The editor should be **language-agnostic**, and language-aware features should be customizable
and importable/exportable via external definitions, transparent to the user if possible.
So for example if I create my custom language, I can create custom lexer and highlighting schemes,
etc. Ability to use or create advanced features for any language (e.g. grammar checkers,
variable/function lists, etc.) obviously would be great.
2. **Scriptable/programmable**: must have support for scripting (ideally with Python) with access
to the text, caret, other internal editor features, so I can program editing features and bind them
to shortcuts. Ideally with possibility to use GUI of the editor (e.g. show some list in a side-panel etc.).
3. Highly customizable syntax highlighting features. I.e. not only basic things, but with ability to define
the styling for *individual characters and sequences* (e.g. regex matching) and so that it
can be set to different **font**, **size** and color for the match. (please note the emphasis). [*]
4. **Lines** can be of **different height**. For example if I set the styler to 5pt font, and it matches
the whole line - the line will have 50% height compared to the height lines with 10pt size.
5. Ideally with support for line **indents** (tree-like editing). Indentation level (nesting level) must
be accessible via scripting (e.g. to generate runnable Python code).
(*Note*: please don't confuse indentation with inserting space or tabs character!
Indents here = non-editable horizontal space).
[*] Important note on the requirement no.3:
Even though some editors have extra rich formatting options, the common problem is that those
are only applicable to the so-called 'tokens' (e.g. keywords, functions). So please note, that it is not enough.
To better understand what I mean, here are concrete examples what I need to do:
- set the font/size for cyrillic letters inside strings only;
- set the font/size for numbers inside identifiers only;
- set the font/size for the hyphen character which is surrounded with spaces.
### Further criteria (less important):
- it should be fast and responsive, without much bloat;
- it would be great if it is actively developed so at least there is a chance that some useful features will be added;
- advanced scripting API for interactive features, for example ability to read mouse coordinates and detect the character index or line number under the mouse cursor;
- adequate tabulation support (indent-aware);
- no intrusive annoying features like something blinking, animations, switching focus, hogging the CPU&HDD etc.
I am looking for a good editor with specific features.
Can you provide some info about support for those features in CudaText editor?
I've posted a request on Software recommendation SE:
https://softwarerecs.stackexchange.com/q/52682/40949
As I see there is support for e.g. Python scripting. But I am unsure
about other features. So can you comment on these points please.
Here is the text, in case the link dont work:
--------------
### List of required features:
1. The editor should be **language-agnostic**, and language-aware features should be customizable
and importable/exportable via external definitions, transparent to the user if possible.
So for example if I create my custom language, I can create custom lexer and highlighting schemes,
etc. Ability to use or create advanced features for any language (e.g. grammar checkers,
variable/function lists, etc.) obviously would be great.
2. **Scriptable/programmable**: must have support for scripting (ideally with Python) with access
to the text, caret, other internal editor features, so I can program editing features and bind them
to shortcuts. Ideally with possibility to use GUI of the editor (e.g. show some list in a side-panel etc.).
3. Highly customizable syntax highlighting features. I.e. not only basic things, but with ability to define
the styling for *individual characters and sequences* (e.g. regex matching) and so that it
can be set to different **font**, **size** and color for the match. (please note the emphasis). [*]
4. **Lines** can be of **different height**. For example if I set the styler to 5pt font, and it matches
the whole line - the line will have 50% height compared to the height lines with 10pt size.
5. Ideally with support for line **indents** (tree-like editing). Indentation level (nesting level) must
be accessible via scripting (e.g. to generate runnable Python code).
(*Note*: please don't confuse indentation with inserting space or tabs character!
Indents here = non-editable horizontal space).
[*] Important note on the requirement no.3:
Even though some editors have extra rich formatting options, the common problem is that those
are only applicable to the so-called 'tokens' (e.g. keywords, functions). So please note, that it is not enough.
To better understand what I mean, here are concrete examples what I need to do:
- set the font/size for cyrillic letters inside strings only;
- set the font/size for numbers inside identifiers only;
- set the font/size for the hyphen character which is surrounded with spaces.
### Further criteria (less important):
- it should be fast and responsive, without much bloat;
- it would be great if it is actively developed so at least there is a chance that some useful features will be added;
- advanced scripting API for interactive features, for example ability to read mouse coordinates and detect the character index or line number under the mouse cursor;
- adequate tabulation support (indent-aware);
- no intrusive annoying features like something blinking, animations, switching focus, hogging the CPU&HDD etc.