* Make `TreeView` follow the current tab
* Use `TreeView:toggle_expand` in `TreeView:set_selection_to_path`
We can't use `item.expanded` directly because we need to update the
cached tree structure.
* fix Doc contextmenu not registering commands if scale plugin is not found
* fix TreeView contextmenu commands not working if the mouse hovers DocView
* add keyboard navigation to TreeView contextmenu
* fix incorrect contextmenu predicate
* refactor: remove sort_positions usage
* refactor: move draw conditional to has_any_selection and other changes
- snake case (sssss)
- break after finding selection
* fix: typo of config plugins
* fix: do check for show selected only properly
* feat: only draw within selection per substitution
* `drawwhitespace`: Make `show_selected_only` work properly
---------
Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
Impacts `treeview:{rename,new-file,new-folder,open-in-system}`.
Previously those were only available when the mouse was over the
`TreeView`.
They now use the same predicate as `treeview:delete`.
When multiple substitution kinds are present in the same line, they're
placed in the cache in an order that's spatially consistent only between
items of the same kind.
Because we stopped drawing after we reached the first invisible
substitution, the subsequent kinds weren't drawn even if they should
have been.
This avoids performing the `treeview:new-folder` command on ctrl +
double click.
This happens because `ctrl+lclick` (which is the keybinding for
`treeview:new-folder`) is triggered also by ctrl + double click, which
isn't captured by anything else.
When a command is performed with parameters, those are now passed to the
predicate.
The predicate can then return, after the validity boolean, any other
value that will then be passed to the actual command.
If the predicate only returns the validity boolean, the original
parameters are passed through to the actual command.
This allows predicates to manipulate the received parameters, and allows
them to pass the result of an expensive computation to the actual
command, which won't have to recalculate it.
String and table predicates will now also return `core.active_view`.
* `language_python`: Add new patterns
This commit provides:
- multiline comments support;
- unicode string symbol highlighting;
- class names as keyword2.
Harmonizing the syntax files
Now inline comment are a single string instead of a table of strings.
-(language_c): Removed whitespaces breaking indent
-(language_html): Removed trailing whitespace
* Allow passing font options to renderer.font:copy().
* Added renderer.font:get_path()
* Reintroduced set_size() for more faster font size changes
* Swapped copy wiht set_size on scale plugin for better performance
* Use code_font:copy() instead of renderer.font.load() on language_md to
properly match user font now that font options are supported on copy.
* Added new changes to renderer docs