Commit Graph
965 Commits
Author SHA1 Message Date
Guldoman 2e37e85a48 Add helper function to report bad patterns in tokenizer 2022-06-15 21:28:46 +02:00
Guldoman 5027a0f12b Fix malformed pattern check for group patterns in tokenizer
If the token type was a simple string (and not a table), the size of the 
string was used instead of `1`.
2022-06-15 19:33:58 +02:00
Guldoman 5b6b48320f Check if "open" pattern is escaped
Previously this check was only done for "close" patterns.
2022-06-12 04:19:05 +02:00
Guldoman c947e8a4d1 Convert more byte offsets to utf-8 pos in regex tokenizer 2022-06-12 02:55:36 +02:00
Guldoman 685956cbdb Add Highlighter:update_notify to keep track of retokenized lines
This is helpful for plugins that need to know when a line has been 
retokenized.
2022-06-11 06:21:55 +02:00
Guldoman 99d328cfd7 Downgrade StatusView:get_items deprecation message to warning 2022-06-11 05:13:37 +02:00
jgmdev 3f206db69a initial documentation for better code completion 2022-06-07 22:09:34 -04:00
Jefferson GonzálezandGitHub ff641cdb06 Merge pull request #1022 from Guldoman/PR_annoy_on_reload_error
Open `LogView` on user/project module reload error
2022-06-07 20:06:56 -04:00
Jefferson GonzálezandGitHub 92c6f1c04f Merge pull request #1021 from Guldoman/PR_lax_common_merge
Make `common.merge` work with invalid arguments
2022-06-07 20:05:22 -04:00
Jefferson GonzálezandGitHub 439c27447f Merge branch 'master' into PR_commandview_options2 2022-06-07 19:03:55 -04:00
Jefferson GonzálezandGitHub 2fc20330a3 Merge pull request #1010 from Guldoman/PR_improve_multiproject_treeview
`TreeView` improvements for multi-project
2022-06-07 18:24:54 -04:00
Guldoman 237f0c91cb Open LogView on user/project module reload error 2022-06-05 04:29:24 +02:00
Guldoman 0b96be7af2 Make common.merge work with invalid arguments
This is needed because users could try to enable plugins with 
`config.plugins.plugin_name = true`.
Before, this would result in `common.merge` throwing an error; now it 
just returns a copy of the "base" table.
2022-06-05 04:10:51 +02:00
jgmdev ca46d8e261 style: move default colors to its own style file 2022-06-02 19:20:54 -04:00
Guldoman ec58b1f0bd Add text and select_text to CommandView options 2022-06-02 19:30:51 +02:00
Guldoman 6c89a3e575 Add show_suggestions to CommandView options 2022-06-02 19:30:22 +02:00
Guldoman 8ce1ecb897 Fix CommandView:enter deprecation log 2022-06-02 06:42:58 +02:00
Adam Harrison 67066fc93a Added in defaults for dirwatch. 2022-06-01 18:36:00 -04:00
Guldoman d390eb248e Fix tooltip not getting removed after find-replace:replace 2022-06-01 18:19:33 +02:00
Guldoman 295e6b7e5a Allow common.path_suggest to specify a root directory
This will make relative paths start from `root`.
2022-06-01 06:57:38 +02:00
Guldoman 9a428648a9 Add common.is_absolute_path 2022-06-01 04:42:50 +02:00
Jefferson GonzálezandGitHub 13d062479a Merge pull request #1005 from Guldoman/PR_improve_logs
Add `warn` log level and backtraces
2022-05-31 16:38:47 -04:00
Jefferson GonzálezandGitHub c09715d0e1 Merge pull request #1004 from Guldoman/PR_commandview_options
Add options table to `CommandView:enter`
2022-05-31 16:38:36 -04:00
jgmdev 214f36157a plugins: only check mod version 2022-05-31 16:29:14 -04:00
Jefferson GonzálezandGitHub c62cf5ce8c Merge pull request #980 from jgmdev/PR/plugins-load-priority
plugins: add load priority support with '--priority:###' closes #978
2022-05-31 11:18:37 -04:00
Jefferson GonzálezandGitHub bd742d5b3d Merge pull request #999 from Guldoman/tokenizer_regex_groups
Allow regexes in `tokenizer` to split tokens with groups
2022-05-31 11:04:48 -04:00
Guldoman fae9af96bf Expose function to create custom log entries 2022-05-31 02:35:56 +02:00
Guldoman db2d30caaf Add warn log level 2022-05-31 02:26:42 +02:00
Guldoman c92f6a7b7f Always show backtrace for error log entries 2022-05-31 02:26:18 +02:00
Guldoman d8efb1ab53 Show error if language plugin pattern has mismatching number of groups
The number of results from a pattern with groups must never be greater
than the number of token types for that pattern.

Also if a token type was undefined, it's now pushed as a `normal` one.
2022-05-31 02:05:37 +02:00
Guldoman 7ac776bef6 Fix UTF-8 matches in regex group tokenizer 2022-05-31 01:59:14 +02:00
Guldoman 11e27c6fda Use new CommandView:enter options table 2022-05-30 22:08:13 +02:00
Guldoman e4a806a9d0 Add options to CommandView:enter
Now `CommandView:enter` can accept a table that specifies its behavior.

The old behavior is kept for compatibility.
2022-05-30 22:07:39 +02:00
Joshua Barretto 86e3f4a690 Made wrapping overflow optional 2022-05-30 17:13:21 +01:00
Joshua Barretto b3278f6360 Made moving to a line beyond the end of a document move the caret column to the end of the line 2022-05-30 15:40:46 +01:00
Guldoman 2a41002355 Allow using regex groups to split tokens
Before, this was only supported by Lua patterns.

This expects the regex to use the same syntax used for patterns. That 
is, the token should be split by empty groups.
2022-05-28 01:38:22 +02:00
Guldoman 14be51b1ec Make regex.match return all the results 2022-05-28 01:21:41 +02:00
jgmdev b9bb64a2f0 Merge branch 'master' into master-2.1 2022-05-22 22:26:47 -04:00
jgmdev 4d3e8d8bd0 command predicates: added support for strict matching by appending '!' on string predicates 2022-05-15 16:10:57 -04:00
Jefferson GonzálezandGitHub 0a66163c10 Merge pull request #987 from jgmdev/PR/fix-object-is-add-extends
object: made is() stricter and added extends()
2022-05-15 15:32:01 -04:00
Jefferson GonzálezandGitHub 28346f13d9 Merge pull request #984 from jgmdev/PR/tokenizer-fix-utf8-bug
tokenizer: fix next utf8 char retrieval bug
2022-05-15 15:28:42 -04:00
Jefferson GonzálezandGitHub 2b9f58b4f6 Merge pull request #982 from jgmdev/PR/keymap-changes
keymap: changes and docs
2022-05-15 15:27:58 -04:00
Adam Harrisonandjgmdev daeb2a8e04 Made sure we redrew things, added in a contingency in 'save' for times when we load a non-existent file, and added some checks. 2022-05-15 15:25:02 -04:00
Adam Harrisonandjgmdev 5a0d213f3b Changed things over to use dirwatch. 2022-05-15 15:24:44 -04:00
Adam Harrisonandjgmdev 173370694e Split out reload functionality to actual document, and added in a thread to check the document, in the cases where it wouldn't be covered by dirwatch. 2022-05-15 15:24:17 -04:00
AdamandGitHub 36c4d5d9ed Autoreload Nagview (#942)
* Modified autoreload to use new dirwatch infrastructure, and added in nagview to verify that fs changes don't stomp on our changes, unless you want them to.

* Split out reload functionality to actual document, and added in a thread to check the document, in the cases where it wouldn't be covered by dirwatch.

* As per request from jgmdev, added in ability to show nagview always.

* Changed things over to use dirwatch.

* Made sure we redrew things, added in a contingency in 'save' for times when we load a non-existent file, and added some checks.
2022-05-15 15:21:26 -04:00
jgmdev 94430bcbd2 tokenizer: fix next utf8 char retrieval bug 2022-05-13 11:21:46 -04:00
jgmdev 59d91087e9 adjust and consolidate duplicated predicate code 2022-05-12 22:15:29 -04:00
jgmdev b8ed4a43f6 keymap: changes and docs
* Prevent adding duplicate bindings
* Clean reverse_map on overwrite or add direct
* Added get_bindings to complement get_binding
* Added doc comments for easier comprehension
* Check if command is function on add_direct
2022-05-12 21:16:02 -04:00
jgmdev fd0a433f59 object: made is() stricter and added extends()
Currently some plugins had/have issues with predicates that check
if active view is a docview to perform certain operations like draw
in the case of minimap or lineguide. Since is() was checking the
entire inheritance tree it was returning true for views that inherit
from the same parent, which caused CommandView to be matched along
DocView, etc... This change does the following to solve the issue:

* Make Object:is() only match the top level parent of the object which
  is more in line with what one would expect from a method named 'is'.
* Introduces Object:extends() which keeps the same functionality that
  Object:is() offered before.
2022-05-12 20:33:01 -04:00