Commit Graph
385 Commits
Author SHA1 Message Date
Guldomanandkelvinvoon03 784b911d41 Make linewrapping consider the expanded Scrollbar size
This avoids reflowing the text when hovering the scrollbar.
2023-09-13 08:05:35 +08:00
Robert Hildebrandtandkelvinvoon03 a9934c08d9 Fixed C++14 digit separators (#1593) 2023-09-13 08:04:05 +08:00
Guldomanandtakase1121 3febcf454c Mark linewrapping open_files table as weak
We weren't correctly garbage-collecting `Doc`s, so we had `Highlighter`s 
stay alive over their due time.
2023-08-19 13:27:28 +08:00
takase1121 2a9b367e13 Move lineguide below blinking cursor, fixes #1488 (#1511)
* Move lineguide below blinking cursor, fixes #1488

* Added config_spec custom color
2023-08-19 13:26:01 +08:00
Guldomanandtakase1121 bd36b3f615 Restore horizontal scroll position after scale change (#494)
* Restore horizontal scroll position after scale change

* Consider `View` horizontal size when restoring horizontal scroll

This is needed because `View:get_h_scrollable_size` includes the 
horizontal size, while `View.scroll.x` doesn't.
2023-08-19 12:45:16 +08:00
Adam Harrisonandtakase1121 793af14dca Fixing linewrapping bug to do with wordwrapping. 2023-08-19 12:45:15 +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
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
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
Guldomanandtakase1121 f00f41b468 linewrapping: Disable horizontal scrolling when enabled (#1309) 2023-08-19 12:28:20 +08: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
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 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
Techie GuyandGitHub 68595e4c7c autocomplete: wrap the autocomplete results around (#1223) 2022-12-06 06:21:14 -04:00
jgmdev acebbfd88a linewrapping: fix enabled always by mistake introduced with #1190 2022-11-07 13:59:13 -04:00
Quinten KockandGitHub 4a5851afe5 Make linewrapping plugin recompute breaks before scrolling (#1190) 2022-11-06 22:34:07 -04:00
Guldoman 8a9bac7de3 Fix drawwhitespace drawing lines with different substitution kinds
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.
2022-10-30 02:54:30 +01:00
jgmdev 0030c69524 plugin autocomplete: update partial on manual trigger 2022-10-25 17:20:31 -04:00
jgmdev 261292c6aa plugin drawwhitespace: allow newline substitution 2022-10-21 13:53:42 -04:00
jgmdev 5aaa5ab273 plugin lineguide: be strict on drawing to DocView 2022-10-15 21:56:34 -04:00
GuldomanandGitHub 6b754eb628 Refactor scrollbar into its own file (#1124)
* Move scrollbar to its own file
* Don't call `Scrollbar` functions if `View` is not scrollable
* Allow horizontal scrolling in `Scrollbar`
* Add horizontal scrollbar to `View`
* Add `root:horizontal-scroll` command with `shift+wheel` keymap
* Prioritize vertical scrollbar hover
* Don't send mouse movement to vertical scrollbar when dragging horizontal one
* Fix clicking on horizontal scrollbar track
* Implement `start` scrollbar alignment
* Add documentation to `Scrollbar`
* Make `DocView` infinitely scrollable horizontally
* Handle horizontal scroll SDL event
2022-10-15 20:12:15 -04:00
AdamandGitHub d1c74f529a Changed workspace to accommodate other views. (#1121)
* Added in the ability to pull scrolls from views, as all views have the capability of scrolling now.
2022-10-09 19:55:07 -07:00
AdamandGitHub 1580d923d3 Fixing minor bug relating to TreeView's cache. (#1136)
Reviewed by Guldo; should fix things, merging.
2022-10-04 18:26:33 -04:00
jgmdev a65a2b293a plugins language_md: fixed some regressions, added caddyfile support 2022-10-02 21:45:54 -04:00
Jefferson GonzálezandGitHub a0164d5902 language_md: don't require space at end on '_', '__', '___' (#1129) 2022-09-28 22:44:42 -04:00
Jefferson GonzálezandGitHub 862ed9ad6a plugin scale: added option to set default scale (#1115) 2022-09-15 00:54:44 -04:00
AdamandGitHub 10d810b7d7 Added in simple directory search to treeview. (#1110) 2022-09-14 00:14:13 -04:00
jgmdev bead59a898 autocomplete: properly replace current partial symbol 2022-09-12 22:41:50 -04:00
Guldoman c25f83da90 Make predicate for some TreeView commands stricter
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.
2022-08-21 20:03:32 +02:00
Jefferson GonzálezandGitHub 76f71b2846 Merge pull request #1098 from Guldoman/PR_command_predicate_params
Allow command predicates to manage parameters, allow overwriting commands
2022-08-16 18:20:30 -04:00
Guldoman 06b9953777 Use Object:is instead of direct metatable comparison in autocomplete 2022-08-16 22:13:25 +02:00
Guldoman cf29a6a45f Allow command predicates to manage parameters passed to the commands
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`.
2022-08-16 22:13:16 +02:00
Ben Larisch a6bbd3c8a9 language_python: add syntax support for async/await 2022-08-16 09:52:46 +02:00
AdamandGitHub 6ccc5f6dde Steps to generalize toolbar and treeview. (#1088) 2022-08-09 14:53:30 -04:00
Guldoman d7f9b30d05 drawwhitespace: Invalidate cache on indent size change 2022-07-15 06:54:03 +02:00
Cyriaque SkrapitsandGitHub af3e2c971c language_python: Add new patterns (#1074)
* `language_python`:  Add new patterns

This commit provides:
 - multiline comments support;
 - unicode string symbol highlighting;
 - class names as keyword2.
2022-07-13 11:06:42 -04:00
NCarrezDev 7f9287a7e7 [chore]: Delete useless $
follow up on Guldoman's comment
2022-07-13 09:16:32 +02:00
NCarrezDev 030dcc1e62 [chore]: Update syntax
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
2022-07-06 10:15:44 +02:00
Jefferson GonzálezandGitHub f49fd1b477 Merge pull request #1064 from Guldoman/PR_md_single_math
`language_md`: Limit inline math mode to the current line
2022-07-05 18:01:59 -04:00
Ben Larisch ce0d8b313c language_python: add syntax support for match-case statement 2022-07-03 15:15:51 +02:00
Guldoman 79dd8779c4 autocomplete: Fix "Too many symbols" message when Doc has no name
Before, when a `Doc` had no name, an error was thrown.
2022-06-29 05:54:37 +02:00
Guldoman 92c2815aa4 language_md: Limit inline math mode to the current line 2022-06-28 20:09:36 +02:00
Guldoman 438ed6984a drawwhitespace: Invalidate cache on font size change 2022-06-25 03:30:33 +02:00
jgmdev d2f9eeea07 renderer fonts: additions and improvements
* 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
2022-06-23 18:08:04 -04:00
jgmdev 31d2024283 lineguide: added config spec 2022-06-23 18:07:27 -04:00
ChrisandGitHub 1e91080680 Improve lineguide plugin (#1056)
* Add more options to lineguide
* Allow lineguide plugin to load but remain disabled
* Use config.line_limit for default ruler
2022-06-23 15:24:57 -04:00