When the tooltip was rendered on the last item of right items the right
padding was not properly getting accounted as part of the tooltip width.
This commit also fixes:
* Passing StatusView to item.get_item() instead of StatusView.item
* Some adjustments to annotations.
* tokenizer: remove the limit of 3 subsyntaxes depth
Make the state a string of bytes instead of a 32bits integer to be able
to have deeper subsyntax support. Fixes issues with syntax files like
the one for PHP that was already hitting more than 3 subsyntaxes depth.
* remove unnecesary call to set_subsyntax_pattern_idx
* fixed wrong word on comments
* docview: support gutter click selection, fixes#1116
* Added missing call to parent on_mouse_pressed
Also fixed call to selections when `shift` is pressed.
* change to arrow instead of hand
Co-authored-by: Adam <adamdharrison@gmail.com>
* Make `Scrollbar` accept a table for its options
* Add `force_status`, `{expanded,shrinked}_size` options to `Scrollbar`
* Add `Scrollbar:set_forced_status`
* Add `config.force_scrollbar_status` to force `DocView` scrollbars status
* Add `Doc:get_selection_idx`
* Make multicursor paste add a cursor at the end of each paste
* Better manage paste of multicursor whole line copy
* Document `Doc:get_selection_idx`
* Keep track of last added selection in `Doc`
* Make use of `doc.last_selection` in `Doc` commands
* Make `Doc:get_selection` return the `Doc.last_selection` if possible
* make the default core.ignore_files more specific
instead of blanket ignoring all dotfiles, we define a list of folders
and files to ignore. this makes the overall experience better.
* fix wrong path pattern
* add ignore_files to user init
the original hamburger menu icon is confusing. It is not a menu
and clicking it doesn't do anything. There is no reason why
we can't draw lite-xl's icon in place of that.
* Added in native modules with suffixes, giving priority to those with matching architectures and platforms.
* PowerPC isn't x86, and it's x86_64.
* Changed things over to allow compiler to set a tuple, makes more sense from a build perspective.
* Spelling mistake.
* Added in arm target tuples.
Commonly `ctrl+shift+r` is used in most editors for find and
replace operations, also the regexreplacepreview.lua plugin makes
a more appropriate use of this binding.
* Added a smoothing option to font loading.
* Added a font strikethrough option to font loading.
* Fixed underline applying incorrectly in cases of non-underlined fallback fonts being used.
Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
This allows to use the Unix separator without resulting in ugly
suggestions that added the Windows separator too.
For example:
Before: `data/` -> `data/\core\`
After: `data/` -> `data/core\`
This caused issues when saving the user module with commands defined
inside it, as it resulted in the user-defined commands trying to
overwrite themselves and failing.
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`.
When no `root` is specified and the initial `path` is empty, the initial
`path` becomes `.`.
This results in returned files/dirs that are prepended with `./`.
Now, in that case, `./` is removed.