Commit Graph
1310 Commits
Author SHA1 Message Date
Guldomanandtakase1121 97f3159415 Merge carets after doc:move-to-{previous,next}-char (#1462) 2023-08-19 12:43:56 +08:00
vqnandtakase1121 f60228f610 #1393 followup (#1463)
* Fix incorrect check in doc:raw_remove

Restore caret position on command doc:cut

* merge cursors and fix new line in clipboard

* add new line to the last copied line
2023-08-19 12:41:57 +08:00
vqnandtakase1121 12e0634f9c fix cursors positions when deleting multiple selections (#1393)
* correctly handle overlapping selections merge cursors in Doc:raw_remove
2023-08-19 12:39:33 +08:00
Guldomanandtakase1121 6d217204f6 Allow tokenizer to pause and resume in the middle of a line (#1444) 2023-08-19 12:39:22 +08:00
Adamandtakase1121 6deca53303 Disable trimwhitespace and drawwhitespace via their configs (#1446)
Instead of completely disabling them, we now use their internal toggle.

Also moved `drawwhitespace` commands inside the plugin.

---

* Fixed bug where commands would show even when plugin was disbled. Also removed antiquated way of disabling.

* Fixed typos.

* Also moved trimwhitespace out of config, if it already has a default enabled value of false.

* Changed documentation.

* Clarified comments.
2023-08-19 12:39:22 +08:00
Guldomanandtakase1121 bf35417f82 Don't calculate widths per-uft8-char when not needed (#1409) 2023-08-19 12:38:49 +08:00
Guldomanandtakase1121 95611366bb Use correct view for scrolling to find-replace:repeat-find results (#1400) 2023-08-19 12:38:34 +08:00
vqnandtakase1121 067271bc02 fix incorrect x_offset if opened docs have different tab sizes (#1383) 2023-08-19 12:38:13 +08:00
Guldomanandtakase1121 b0e524dd15 Improve DocView:get_visible_line_range precision (#1382) 2023-08-19 12:37:50 +08:00
Jefferson Gonzálezandtakase1121 24491bc3fd plugins scale: also rescale style.expanded_scrollbar_size (#1380) 2023-08-19 12:37:50 +08:00
Jefferson Gonzálezandtakase1121 70ed171612 NagView: properly rescale on scale change (#1379)
* drop font option since style.font is always used
2023-08-19 12:37:49 +08:00
Jefferson Gonzálezandtakase1121 6925c06599 Improved plugins config table handling (#1356)
* Warns user if trying to disable a plugin that is already
  enabled when doing `config.plugins.plugin_name = false` and also
  prevents replacing the current plugin config table with the false
  value to mitigate runtime issues.
* Uses a merge strategy by default when assigning a table to a plugin
  config to prevent a user from removing a plugin default config values
  as experienced and explained on this issue lite-xl-plugins#158
* This change is basically backwards compatible, but will require a
  change on the settings ui plugin on how it checks for already
  enabled plugins, since rawget will no longer be a working hack
  or workaround for this.
* As suggested by Adam dropped loaded key and switched to package.loaded
2023-08-19 12:37:29 +08:00
takase1121andvqn 218ba3ebac Context menu fixes and keyboard navigation (#1338)
* 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

Co-Authored-By: vqn <85911372+vqns@users.noreply.github.com>
2023-08-19 12:36:39 +08:00
Adamandtakase1121 017711b369 Getting rid of annoying forward slash on windows. (#1345) 2023-08-19 12:30:41 +08:00
Guldomanandtakase1121 bddb5e274d Avoid drawing hidden text in DocView:draw_line_text (#1298)
* Stop drawing text past the `DocView` edge in `DocView:draw_line_text`

* Don't add draw commands if they fall outside the latest clip

The check was previously done with the window rect, so this will reduce 
a bit more the number of commands sent.
2023-08-19 12:28:48 +08:00
xwiiandtakase1121 38fa9f976c Use table.move to implement common.splice (#1324)
* Use `table.move` to implement `common.splice`

* Disallow negative `remove` in `common.splice`
2023-08-19 12:28:47 +08:00
sammyetteandtakase1121 1984573214 fix: center title and version in emptyview (#1311)
* fix: divide by amount of lines
2023-08-19 12:28:21 +08:00
Guldomanandtakase1121 f00f41b468 linewrapping: Disable horizontal scrolling when enabled (#1309) 2023-08-19 12:28:20 +08:00
Guldomanandtakase1121 138cea45d5 Make dirwatch sorting compatible with what file_bisect expects (#1300)
The result of `a.filename < b.filename` is sometimes different from 
`system.path_compare(a.filename, a.type, b.filename, b.type)` which 
causes issues to `file_bisect`, as it expects the sorting to be done 
with `system.path_compare`.
2023-08-19 12:28:19 +08:00
Daveandtakase1121 0fa0a59c8b Minor typos in init text 2023-08-19 12:28:18 +08:00
Guldoman 74349f8e56 Fix horizontal scroll with touchpad on MacOS 2022-12-28 17:26:57 +01:00
Jefferson GonzálezandGitHub 870d685b59 contextmenu: adjust y positioning if less than zero (#1268)
* use clamp for both x and y coords
2022-12-28 02:51:24 -04:00
xwiiandGitHub 271a804986 Fix popping subsyntaxes that end consecutively (#1246) 2022-12-27 20:24:52 -04:00
Simon KrauterandGitHub 8603644726 Fix two typos in data/init.lua (#1272) 2022-12-27 19:56:30 -04:00
Martin AshbyandGitHub d4989d98bd Add example settings to _overwrite_ an existing key binding (#1270) 2022-12-27 18:40:22 -05:00
GuldomanandGitHub 18e3542be0 Allow TreeView file operation commands when focused (#1256)
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`.
2022-12-26 13:41:14 -04:00
GuldomanandGitHub 97bfe503a0 detectindent: Limit subsyntax depth (#1253) 2022-12-20 22:28:29 -04:00
sammyetteandGitHub 1810db0705 fix: move tab scroll buttons to remove spacing before 1st tab (#1231)
* fix: move tab scroll buttons to remove spacing before 1st tab
* fix: always show tab scroll buttons
* fix: cleanup code, get scroll button rect for correct button
* fix: expand to full size for tabs if scroll buttons arent visible
* fix: define n as visible tabs number
2022-12-20 22:06:53 -04:00
GuldomanandGitHub c42f01ed1f Improve IME location updates (#1170)
* Avoid updating IME input rect if it hasn't changed
* Update the IME input rect even when the composition didn't change
* Apply IME input blocking workaround to non-Linux only
2022-12-20 20:11:13 -04:00
Jefferson GonzálezandGitHub 902539b97a trimwhitespace: expose functionality and extra features (#1238) 2022-12-20 18:13:56 -04:00
GuldomanandGitHub 213dc7142e toolbarview: Remove tooltip when hidden (#1251) 2022-12-20 18:07:29 -04:00
Jefferson GonzálezandGitHub 3c64c32379 core: ported regex.gsub to faster native version (#1233)
* added regex.gmatch iterator and other fixes
* fixed issues reported by Guldoman
* push strings with fixed len just in case for binary safety
* added limit to regex.gsub and use pushinteger
* added description to regex.gsub limits param
* replaced substitutions regex description for correctness
* ignore negative limits on regex.gsub
2022-12-20 17:46:37 -04:00
Cyriaque SkrapitsandGitHub 5b5b5fd3e3 contextmenu: make divider less aggressive (#1228)
Following changes are applied:
- use divider color instead of caret;
- add a vertical padding on the divider.
2022-12-20 17:29:53 -04:00
Jefferson GonzálezandGitHub e152db2cce plugins projectsearch: expose its functionality (#1235) 2022-12-14 11:53:20 -04:00
GuldomanandGitHub 9d48441685 Add regex.find_offsets, regex.find, improve regex.match (#1232)
`regex.match` now behaves like `string.match`.
This required changes in the `tokenizer` and in the `detectindent` 
plugin.
2022-12-11 22:25:42 -04:00
sammyetteandGitHub e13f265fac feat: alert user via nagview if file cannot be saved (#1230)
* feat: alert user via nagview if file cannot be saved
it will prompt the user to choose whether they
want to save to another location and perform
the save as command
* refactor: change defer draw call to thread
* feat: log error when attempting to save doc
2022-12-11 21:38:58 -04:00
Techie GuyandGitHub 68595e4c7c autocomplete: wrap the autocomplete results around (#1223) 2022-12-06 06:21:14 -04:00
sammyandGitHub dfa2f93d9c feat: encode home in statusview file path (#1224) 2022-12-06 06:19:52 -04:00
GuldomanandGitHub f7ad8753eb Improve regex.gsub performance (#1220) 2022-12-02 19:21:05 -05:00
jgmdev 0373d29f99 statusview: respect right padding of item tooltip
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.
2022-11-24 12:34:49 -04:00
Guldoman 51f2a291d3 Make Scrollbar follow force_status when animations are disabled 2022-11-15 21:08:33 +01:00
GuldomanandGitHub 519b91c2dd Pass the currently selected item to CommandView validation (#1203) 2022-11-15 12:03:13 -04:00
Guldoman c6c485feb0 Use subsyntax info in doc:toggle-{line,block}-comments 2022-11-15 16:11:37 +01:00
Guldoman 0a1b8b6bb1 Set initial tokenizer state to a NULL byte 2022-11-15 16:01:04 +01:00
Guldoman e147a6cb9b Add tokenizer.extract_subsyntaxes 2022-11-15 16:00:48 +01:00
jgmdev acebbfd88a linewrapping: fix enabled always by mistake introduced with #1190 2022-11-07 13:59:13 -04:00
jgmdev fb43e6f9e6 traceback: some lua versions do not support message as nil 2022-11-07 12:48:09 -04:00
Quinten KockandGitHub 4a5851afe5 Make linewrapping plugin recompute breaks before scrolling (#1190) 2022-11-06 22:34:07 -04:00
Jefferson GonzálezandGitHub 9c7304f555 highlighter: autostop co-routine when not needed (#881)
* highlighter: autostop co-routine when not needed

* applied @Guldoman suggestions
2022-11-06 03:38:10 +01:00
Jefferson GonzálezandGitHub b8a4f729df tokenizer: remove the limit of 3 subsyntaxes depth (#1186)
* 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
2022-11-03 18:56:20 -04:00