Adam
1c5936e697
Fixup minor drawing issue.
2022-10-18 16:01:32 -04:00
Guldoman
decbac4ac6
Check if scrollbar is no longer hovered on mouse release
2022-10-16 04:43:15 +02:00
Guldoman
6ca56fee1a
Only consider left clicks on the scrollbar
2022-10-16 04:40:03 +02:00
jgmdev
5aaa5ab273
plugin lineguide: be strict on drawing to DocView
2022-10-15 21:56:34 -04:00
Guldoman
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
Guldoman
5c2c95765e
Add IME support ( #991 )
2022-10-15 19:58:51 -04:00
Jefferson González
f89088d0ec
dirmonitor: add watch to subdirs on file limit mode ( #1155 )
2022-10-13 00:37:52 -04:00
Guldoman
334a7da5c9
Use the syntax with the longest match ( #919 )
...
This way, for example, a syntax that applies to `docker-compose.yml`
files will take precedence over one that applies to `*.yml` files.
2022-10-12 18:10:11 -04:00
Jefferson González
0fc793d1ae
Add on_scale_change event to View ( #1146 )
...
* core view: emit on_scale_change event
* core titleview: reconfigure hit_test on rescale fixes #1144
2022-10-11 14:44:32 -04:00
Jefferson González
214c9d6287
dirwatch: exit coroutine if project not open anymore to properly gargage collect it ( #1142 )
2022-10-11 13:22:44 -04:00
Jefferson González
a7888e96ea
Add fsevents backend to dirmonitor ( #1141 )
...
* dirmonitor: added backend reporting of watch mode
* dirmonitor: added fsevents backend for macos
2022-10-10 20:40:41 -04:00
Takase
3409929a0c
draw lite-xl icon in TitleView ( #1143 )
...
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.
2022-10-10 11:05:30 -04:00
Adam
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
Adam
9e816154ad
Added in an additional ENVVAR for setting USERDIR, and also changed / to PATHSEP. ( #1139 )
...
* Added in an additional ENVVAR for setting USERDIR, and also changed / to PATHSEP.
* Forgot a /
2022-10-08 20:48:30 +02:00
Adam
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ález
a0164d5902
language_md: don't require space at end on '_', '__', '___' ( #1129 )
2022-09-28 22:44:42 -04:00
jgmdev
e2884895ce
core start: added missing ';' to package.cpath
2022-09-25 17:13:07 -04:00
Adam
6bb08fc68f
Added in ability to have `init.so` as a require for cpath. ( #1126 )
2022-09-25 17:08:21 -04:00
Adam
5ada80b9df
Added in native modules suffixes. ( #1111 )
...
* 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.
2022-09-18 18:27:50 -04:00
jgmdev
4134b30ffd
core: remapped core:restart to `ctrl+alt+r`
...
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.
2022-09-16 11:31:05 -04:00
Jefferson González
5a80d3547e
contextmenu: resize on scale changes ( #1117 )
2022-09-15 00:57:45 -04:00
Jefferson González
862ed9ad6a
plugin scale: added option to set default scale ( #1115 )
2022-09-15 00:54:44 -04:00
Adam
10d810b7d7
Added in simple directory search to treeview. ( #1110 )
2022-09-14 00:14:13 -04:00
Guldoman
a19cfb4f80
Strictly limit find/replace commands to `core.docview` ( #1108 )
...
Without this, find/replace commands applied to the `CommandView` too,
with buggy results.
2022-09-13 22:29:52 -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
Aqil Contractor
9b1bfeacac
Added a smoothing and strikethrough option to font loading. ( #1087 )
...
* 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>
2022-08-20 16:15:08 -04:00
Jefferson González
f07b62f852
Merge pull request #1100 from Guldoman/PR_fix_path_suggest
...
Remove dot slash from suggested paths in `common.path_suggest`
2022-08-17 13:59:19 -04:00
Jefferson González
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
4c186b07a3
Be more lenient with appending `PATHSEP` in `common.path_suggest` in Windows
...
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\`
2022-08-17 00:11:19 +02:00
Guldoman
e8ca861512
Remove final `PATHSEP` in `common.normalize_volume`
2022-08-16 23:53:03 +02:00
Guldoman
a4355c6536
Add `PATHSEP` before listing the directory in `common.path_suggest`
...
Before, in Windows, listing `.` instead of `.\` resulted in unexpected
results.
2022-08-16 23:51:12 +02:00
Guldoman
6aa96556c0
Replace `assert` with `core.log_quiet` on command replace
...
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.
2022-08-16 22:18:50 +02:00
Guldoman
d944bd85ec
Add predicate memoization to `command.get_all_valid`
2022-08-16 22:13:25 +02: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
Guldoman
4b4c54ba65
Remove dot slash from suggested paths in `common.path_suggest`
...
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.
2022-08-16 08:08:04 +02:00
Adam
6ccc5f6dde
Steps to generalize toolbar and treeview. ( #1088 )
2022-08-09 14:53:30 -04:00
Guldoman
4db71836af
Clear default Lua require path ( #1085 )
...
This is mainly done to avoid requiring from the current working
directory of the editor.
This also avoids requiring from system paths, as it was already the case
for the native modules search path.
2022-08-03 11:13:26 -04:00
ian`
2667f9476b
Fix "hard" indent column info on status view. ( #1078 )
...
* Fix "hard" indent column info on status view.
* Update tabs calculation and add "byte" number info
* Add config.show_char_byte_info
* Add show char byte toggle command.
it should be added on the commands/statusbar.lua, but there is no config module loaded before and i won't to add it.
* Update config.lua
* Update statusview.lua
2022-07-22 19:01:54 +02:00
Jefferson González
e4bef5c5b6
Merge pull request #1080 from jgmdev/PR/fix-commandview-caret
...
CommandView: do not change caret size with config.line_height
2022-07-17 12:29:52 -04:00
jgmdev
c7781a76a9
CommandView: do not change caret size with config.line_height
2022-07-15 11:27:27 -04:00
cisoun
366cadf605
Add font style options in user module
2022-07-15 12:05:59 +02:00
Guldoman
d7f9b30d05
`drawwhitespace`: Invalidate cache on indent size change
2022-07-15 06:54:03 +02:00
Jefferson González
86d45458f8
Merge pull request #1070 from Guldoman/PR_get_selections_swap_return
...
Make `Doc:get_selection[s]` return if the selection was actually sorted
2022-07-13 11:13:43 -04:00
Cyriaque Skrapits
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
Guldoman
2dac3667cb
Merge pull request #1073 from ncarrezdev/ncarrezdev/synxtax-corrections
...
[chore]: Update syntax
2022-07-13 15:05:26 +02:00
NCarrezDev
7f9287a7e7
[chore]: Delete useless $
...
follow up on Guldoman's comment
2022-07-13 09:16:32 +02:00
Guldoman
9cfa3ecd56
Make `StatusView:add_item` accept a table
2022-07-13 07:22:42 +02:00
Guldoman
693bd11b22
Don't wrap around if there are no suggestions in `CommandView`
2022-07-11 23:28:08 +02:00
Guldoman
e7c4bdfe8e
Make `Doc:get_selection[s]` return if the selection was actually sorted
2022-07-11 05:39:55 +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ález
e646f2fb28
Merge pull request #1065 from Guldoman/PR_log_size
...
Increase `config.max_log_items`, add a scrollbar and optimize `LogView`
2022-07-05 18:07:33 -04:00
Jefferson González
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
Jefferson González
f611556f1a
Merge pull request #1062 from Guldoman/PR_fix_logview_on_error
...
Fix opening `LogView` when reloading customizations
2022-07-05 18:00:56 -04:00
Jefferson González
58336f6060
Merge pull request #1060 from Guldoman/PR_drag_whitespace_newline
...
On `doc:newline` remove line content if it contains only whitespace
2022-07-05 17:56:13 -04:00
Jefferson González
041456cf38
Merge pull request #1059 from Guldoman/PR_no_indent_empty_lines
...
Don't indent empty lines in a selection
2022-07-05 17:52:17 -04:00
Ben Larisch
ce0d8b313c
language_python: add syntax support for match-case statement
2022-07-03 15:15:51 +02:00
Guldoman
7888bf08e9
`LogView`: Show scrollbar
2022-07-01 05:29:55 +02:00
Guldoman
b84a510d42
Increase default maximum number of log items
...
The low number in some cases resulted in hidden errors.
2022-07-01 05:29:54 +02:00
Guldoman
caf106be1d
`LogView`: Don't draw invisible items
2022-07-01 05:29:45 +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
259de54c33
Fix opening `LogView` when reloading customizations
...
As `reload_customizations` was called during save operations, opening
the `LogView` changed `core.active_view` which caused some errors to be
thrown.
2022-06-28 04:21:43 +02:00
Guldoman
c792b13666
On `doc:newline` remove line content if it contains only whitespace
2022-06-25 03:57:47 +02:00
Guldoman
d6ce9e1ac6
Don't indent empty lines in a selection
2022-06-25 03:32:47 +02:00
Guldoman
438ed6984a
`drawwhitespace`: Invalidate cache on font size change
2022-06-25 03:30:33 +02:00
Guldoman
9cd47aa12e
Fix full line cut when only a single line remains
2022-06-24 05:49:20 +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
Chris
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
Guldoman
ec0e3018a8
`findreplace`: Sort last searches
2022-06-23 05:16:47 +02:00
Katrina Grace
beefb16469
language_html: Improve subsyntax highlighting ( #1043 )
...
* language_html: Improve subsyntax highlighting
- Adjusted `<script>`/`<style>` tag detection to not break when attributes like `defer` are added
2022-06-22 22:56:41 -04:00
Jefferson González
880e6e4f0f
Merge pull request #1040 from Guldoman/PR_tokenizer_errors_alert
...
Add more tokenizer errors/warnings
2022-06-22 19:43:51 -04:00
Guldoman
522d8a8094
`findreplace`: Fix number of total replacements
2022-06-23 00:16:16 +02:00
jgmdev
e0859e1e39
treeview: scale fallback sizes as pointed out by @Guldoman
2022-06-22 01:35:10 -04:00
jgmdev
7b411c3ea9
treeview: restore ability to disable toolbarview
2022-06-22 00:42:26 -04:00
Guldoman
76c1db97f5
`drawwhitespace`: Use `Docview` vertical line offset
2022-06-20 19:56:53 +02:00
Guldoman
205e554d87
Merge pull request #1047 from jgmdev/PR/cv-draw-visible
...
CommandView: improve performance by only drawing visible
2022-06-20 17:35:06 +02:00
a
8fd00b12cf
Add .cjs and .mjs for js syntax highlighting
2022-06-20 16:12:25 +02:00
jgmdev
665c2cdd4d
CommandView: improve performance by only drawing visible
2022-06-20 10:01:28 -04:00
jgmdev
173dd3aeb4
plugin treeview: fix crash
...
When the max_project_files is set to a higher value than the allowed
system maximum file descriptors, and opening a project directory that
causes dirmonitor to open a watch on a lot of files or directories, at
least on MacOSX it causes all system.* file functions to return nil
(for too many opened files) which breaks the project files scan.
2022-06-17 15:35:23 -04:00
Jefferson González
3dadbd3a49
Merge pull request #1038 from takase1121/PR/scale-step-gc
...
run GC between scale to prevent ram from exploding
2022-06-16 03:04:53 -04:00
Jefferson González
380cfb9a24
Merge pull request #1030 from Guldoman/PR_cache_draw_whitespace
...
`drawwhitespace`: Cache whitespace location
2022-06-15 21:08:09 -04:00
Guldoman
2d3abd2533
`drawwhitespace`: Invalidate cache on config changes
2022-06-16 00:03:25 +02:00
Jefferson González
d2fd5c9df7
Merge pull request #1034 from Guldoman/PR_escape_start_patterns
...
Check if "open" pattern is escaped
2022-06-15 16:51:34 -04:00
Jefferson González
eeea47a2e5
Merge pull request #1033 from Guldoman/PR_utf8_regex_fix
...
Convert more byte offsets to utf-8 pos in regex tokenizer
2022-06-15 16:51:11 -04:00
Jefferson González
2dc0a5664d
Merge pull request #1029 from Guldoman/PR_math_md
...
`language_md`: Add math delimiters
2022-06-15 15:32:57 -04:00
Guldoman
d169619f69
Warn if token type is a table when not needed
2022-06-15 21:31:16 +02:00
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
takase1121
42e0028f1c
run GC between scale to prevent ram from exploding
2022-06-15 22:56:52 +08: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
f38723ea46
`drawwhitespace`: Cache whitespace location
2022-06-11 06:30:13 +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
Guldoman
ed02a55cc1
`language_md`: Add math delimiters
2022-06-10 23:55:41 +02:00