This is a first attempt with little testing, but it seems to work pretty OK. However, please review all levels, from design to implementation.
To summarize, what this does is look for `stylename.N` for styles that are known to be sub-stylable[^1], as well as the corresponding keywords/identifiers[^2]. From there, it's just regular styles one can map as usual.
One limitation I am already aware of is that as it's not regular keywords, it doesn't integrate with the code merging the ctags symbols into them. It could be possible to augment this to work, but with the current design this would need a way of representing this in the filetypes file (which would be good, but is not the case currently).
One arbitrary design choice was to use the syntax `stylename.N`. This is mostly because using `stylename[i]` is tricky/hacky using `GKeyFile`, because it looks similar to Scintilla's properties, and doesn't clash with any style name. Other suggestions are welcome.
[^1]: we unfortunately cannot use [`SCI_GETSUBSTYLEBASES`](https://scintilla.org/ScintillaDoc.html#SCI_GETSUBSTYLEBASES) because we don't have access to a Scintilla instance when loading style data. Hence adding a new field in `HLStyle`.
[^2]: Note here that this feature is styles-based in Scintilla, meaning that there is no regular keywords entry associated, it's defined as kind of a style property.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3794
-- Commit Summary --
* Initial support for Scintilla sub-styles
* DO NOT MERGE: Add sample sub-styles for Python
* Make sci_get_style_at() work with larger number of styles
* Display sub-styles in the statusbar %Y placeholder
-- File Changes --
M data/filedefs/filetypes.python.in (7)
M src/highlighting.c (111)
M src/highlightingmappings.h (1897)
M src/sciwrappers.c (2)
M src/ui_utils.c (14)
-- Patch Links --
https://github.com/geany/geany/pull/3794.patchhttps://github.com/geany/geany/pull/3794.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3794
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3794(a)github.com>
Last year in May I asked this question:
Is there a possibility to change the CSS of the tab-title of a tab that is active? It is the discussion #3482.
Today I recognized that if the sidebar is visible, then two tabs have the same CSS, because two tabs are active. So, I'm looking for a selector name where I can define the CSS for the tab that is in focus. It is not `notebook tab:focus label`.
Thank you very much for an answer in advance.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/discussions/3784
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/repo-discussions/3784(a)github.com>
I want in the settings for SaveActions to specify few code-fixers for the current language and run them all automatically upon file Save.
For example for Python I use "black" and "isort" - I want that I use them for Python and have SaveActions auto-run them in background for me on each file save.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/1319
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany-plugins/issues/1319(a)github.com>
I have in Edit -> Preferences set
"Ensure new line at file end"
clicked off, e. g. the checkbox has no checked-arrow there.
Yet upon saving the file (a .rb file), geany still appends a newline there.
Does this work for other folks?
Irrespective of whether this is a bug or not, I'd like to see this behaviour
not be enabled by default. Reason being that an editor should be
"what you type is what you get" rather than automatically append
the file content by default. (It's ok to have this as an option of course,
but it should not be the default.)
If there was an old discussion about this behaviour perhaps someone
can provide a pointer to it.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3801
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3801(a)github.com>
I want to be able to specify all linters I use for a specific language and either have them run automatically for the currently open file OR at least a single keyboard key-binding to run them all on the currently open file.
Currently I specify them all in the build-menu and I run them one by one.
Also - each linter should be run in background.
So for Python I use: mypy, flake8 and bandit. It is too tiring to run them all one by one from the build menu.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3799
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3799(a)github.com>
**Problem:**
Maybe because Microsoft updates cmd.exe and makes it buggy. Using:
`py "%f"`
to execute can cause the python print() function missing data.
For example, you can see from this screenshot:
![image](https://github.com/geany/geany/assets/58306791/915f6b8c-7760-47a5-8089-09975093aac2)
The output has been cut off and it only contains the 17th row to 29th row.
**Resolution:**
Using
`PowerShell.exe py "%f"`
to execute will not causing these problem.
Please set the default execute command to `PowerShell.exe py "%f"`, instead of `py "%f"`.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3772
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3772(a)github.com>
**Steps to reproduce**
1. open a document in Geany
2. click on a tab-title of the sidebar
3. switch to a file-manager-window, like PCManFM-Qt
3. mark a TXT-document
4. press enter (result: the document appears in Geany)
**Result**
the tab-title of the sidebar is still in focus
**Expectation**
the tab-title of the editor should be in focus
**Remark**
same for the message window (so, do the test from above with the message window instead of the sidebar)
**System**
Lubuntu 23.10
Geany 1.38
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3796
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3796(a)github.com>
Inspired by https://github.com/geany/geany/pull/3169 which was missing the update of find_shebang(), we should mention this in HACKING.
I also noticed we kind of neglected updating editor_set_indentation_guides() - not sure if it's very important but at least worth mentioning in HACKING.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3795
-- Commit Summary --
* Update HACKING with find_shebang() and ditor_set_indentation_guides()
-- File Changes --
M HACKING (5)
-- Patch Links --
https://github.com/geany/geany/pull/3795.patchhttps://github.com/geany/geany/pull/3795.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3795
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3795(a)github.com>
As @elextr already [pointed out](https://github.com/geany/geany/issues/1379#issuecomment-275570440) in #1379 standard tab width is 8 characters. However, Geany uses 4 by default for some reason. The proposal here is that the default should rather be standard than not, meaning changing it to 8 characters instead of the current 4. Just to make Geany "100% ASCII-compatible" with its default settings.
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3790
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3790(a)github.com>