Commit Graph

272 Commits

Author SHA1 Message Date
Francesco Abbate 9155be7a22
Ensure TreeView cache entry is removed on delete
Address issue:

https://github.com/lite-xl/lite-xl/issues/689

Attempt to provide a more accurate fix to commit:

59f64088e1

For this latter what happens is that any change inside a directory
cause the corresponding entry to be folded in the TreeView.

The new change is more accurate because we remove only the stale
entry corresponding to the delete event and we do not reset the
cache of the parent directory using the modify event.
2021-12-22 23:40:54 +01:00
Guldoman 9e7bdf49e9
Revert "Merge pull request #697 from Guldoman/treeview_remove_changed"
This reverts commit 4e078cc217, reversing
changes made to 0c488c9492.
2021-12-22 23:39:26 +01:00
Francesco Abbate 37c00c877a Ensure TreeView cache entry is removed on delete
Address issue:

https://github.com/lite-xl/lite-xl/issues/689

Attempt to provide a more accurate fix to commit:

59f64088e1

For this latter what happens is that any change inside a directory
cause the corresponding entry to be folded in the TreeView.

The new change is more accurate because we remove only the stale
entry corresponding to the delete event and we do not reset the
cache of the parent directory using the modify event.
2021-12-20 11:03:49 +01:00
Adam Harrison e512c57637 Added an exclusion for lineguide in the commandview. 2021-12-20 08:43:48 +01:00
takase1121 ab4ecd515b
multiple improvements to logging
- added style.log table
- removed contextmenu
- use ctrl+click to copy individual log entries
- use icon instead of + or - for log items in logview
2021-12-18 10:51:44 +08:00
Guldoman 69de42b078
Set `void` to `keyword2` in `language_c` and `language_cpp` plugins
Move `void` to the same syntax type used by other data types.
2021-12-15 18:20:17 +01:00
Adam 997b3efbb7
Merge pull request #708 from Guldoman/treeview_styling
Allow `TreeView` item icon and text styling
2021-12-12 12:04:59 -05:00
Adam Harrison 95945d86ab Removed erroneously added file. 2021-12-11 17:51:51 -05:00
Adam Harrison 7b55470159 Fixed treeview clicking not being caught. 2021-12-11 17:51:19 -05:00
Guldoman c16d6b3d8d
Avoid drawing hidden `TreeView` items 2021-12-07 21:45:20 +01:00
Guldoman fdb29f28cf
Split `TreeView:draw` into multiple functions
This allows plugins to override each aspect of TreeView item drawing.
2021-12-07 21:44:20 +01:00
Adam 994c62b64a
Merge pull request #497 from lite-xl/fix-javascript-regexp-syntax
Try to fix problem with js syntax of '/=' operator
2021-12-06 00:17:07 -05:00
Adam 2997aa2652
Merge pull request #705 from Guldoman/check_if_proj_dir
Check the entire path in `TreeView` predicate
2021-12-05 14:23:34 -05:00
Nightwing 0705c23c35 Improved Markdown syntax highlighter 2021-12-03 23:50:23 +09:00
Guldoman d7afcb08b1
Check the entire path in `TreeView` `new-file` and `new-folder` commands 2021-11-30 01:11:35 +01:00
Guldoman e500368ce4
Allow `TreeView` item icon and text styling 2021-11-29 23:36:49 +01:00
Guldoman ef4c02ab0e
Check the entire path in `TreeView` predicate 2021-11-28 07:16:53 +01:00
Adam a607ef95f9
Merge pull request #682 from Guldoman/indent_refactor
Refactor how to get the indentation of a `Doc`
2021-11-27 11:55:36 -05:00
Adam 1b22c85dd5
Merge pull request #694 from adamharrison/fix-context-menu
Added in cut, copy and paste to the context menu, amongst other things.
2021-11-27 11:44:10 -05:00
Adam 4e078cc217
Merge pull request #697 from Guldoman/treeview_remove_changed
Remove changed files/dirs from `TreeView` cache
2021-11-26 22:07:19 -05:00
Adam fe6ba4adb7
Merge pull request #696 from adamharrison/fix-lineguide
Added an exclusion for lineguide in the commandview.
2021-11-24 13:28:04 -05:00
Adam 9b24563b84
Merge pull request #692 from adamharrison/draw-whitespace-color
Added in the ability to specify a color for whitespace.
2021-11-24 13:23:34 -05:00
Guldoman 59f64088e1
Remove changed files/dirs from `TreeView` cache 2021-11-24 06:16:54 +01:00
Adam Harrison f7b3a2b0c2 Added an exclusion for lineguide in the commandview. 2021-11-23 22:35:11 -05:00
Adam Harrison 64f66e5d1e Added in cut, copy and paste to the context menu. Also removed find pattern, as that's no longer a valid command. Also made it so commands only show up if their predicates are valid. 2021-11-23 21:03:38 -05:00
Adam Harrison 3162f4ea4f Added in the ability to specify a color for whitespace. 2021-11-23 18:42:01 -05:00
PIESEL 00d555b016
Apply again cd10497b49
Use Python syntax highlighting for Ren'Py scripts.
2021-11-23 22:24:03 +01:00
Adam Harrison 96db380c73 Manual merge of into . 2021-11-23 15:57:22 -05:00
Guldoman 955acf53a3
Merge pull request #673 from vincens2005/master
Add BigInt literal and numeric separators to js syntax highlighter
2021-11-22 22:23:23 +01:00
cukmekerb 65f1251767 JS hex BigInts and hex numeric separators 2021-11-22 12:15:19 -08:00
Joshua Minor 373007a767 Switched to TreeView:color_for_item(abs_path) 2021-11-21 15:24:45 -08:00
Joshua Minor bede0ff878 Allow for color overrides in the tree view 2021-11-21 00:24:24 -08:00
Guldoman 3176b467ca
Add names to language plugins 2021-11-21 03:46:43 +01:00
Guldoman 2de48b6ac8
Adapt `detectindent` to the new indentation architecture 2021-11-20 04:40:58 +01:00
Takase d7c309d8e2
Merge branch 'master' into lineguide-config 2021-11-17 11:59:59 +08:00
Guldoman 6a7a02542f
Draw only visible whitespaces 2021-11-17 02:57:14 +01:00
cukmekerb 46f81e0bad add BigInt literal and numeric separators to js syntax highlighter 2021-11-15 09:20:34 -08:00
Adam Harrison 7a3e8ed86a Added in mousewheel as part of this. 2021-11-14 15:41:28 -05:00
Adam Harrison 4e313d9fc5 Propogated mouse clicks correctly. 2021-11-14 15:41:28 -05:00
Guldoman f99afcd29c
In `TreeView` set correct active `View` before opening new `DocView`
Before this, the new `DocView` was always added to the primary `Node`.
With this, it gets added to the last focused `Node`.
2021-11-07 23:12:03 +01:00
PIESEL cd10497b49
Use Python syntax highlighting for Ren'Py scripts.
Ren'Py is a very popular Python visual novel engine, which has it's own "coding language" (even GitHub shows it as a separate language) and it's own file extension.
Generally Python syntax highlighting works for the Ren'Py language.
2021-11-01 16:30:15 +01:00
Francesco Abbate ffb66cefd7 Fix python docstring highlighting
From PR:

https://github.com/lite-xl/lite-xl/pull/624

contributed by @dflock.
2021-10-23 15:01:16 +02:00
Francesco Abbate 167e41de65 Fix problem with treeview keeping the editor busy
Fix a problem introduced when fixing the dirty pixel problem, commit
cb08c5c. The node, when determining the layout was rounding the size
of the fixed-size view. In turns this latter was calling move_towards
to the default_size it wanted. If default_size was non-integer the
value vas never archieved because it was rounded during layout and
move_towars was keeping the editor busy by setting the
core.need_redraw flag.
2021-10-21 23:18:31 +02:00
Francesco Abbate 43374b036f Fix problem with treeview x resizing
The x size of the treeview plugin cannot really change expect if explicitly
resized.

The call to move_towards for x seems to raise a state where core.redraw is
always set to true and this prevent the application to go idle.

It is seen after the introduction of the dmon directory monitoring but it
is not clear why it wasn't seen before.
2021-10-21 23:18:31 +02:00
Francesco Abbate 7dd5699c96 Use dmon events in reload plugin 2021-10-08 23:15:25 +02:00
Francesco Abbate 9c43727ebc Implement directory monitoring using septag/dmon
Use a notification based directory monitoring based on the
septag/dmon lirbary instead of periodically rescan the whole
project's tree.
2021-10-08 21:31:22 +02:00
Francesco eb79381c89
Merge pull request #521 from adamharrison/remove-font-renderer
Remove Font Renderer + CP Replace + libagg
2021-10-02 18:45:31 +02:00
Guldoman 468229e4d0 Small cleanup of `scale` plugin 2021-10-02 18:39:23 +02:00
Francesco Abbate 34983668d8 Normalize to project dir in treeview open
When left-clicking in a TreeView file we use now
core.normalize_to_project_dir to normalize correctly
the file name.
2021-10-02 18:37:01 +02:00
Francesco Abbate d067cc8577 Scale custom syntax fonts for scale plugin
Close #539.
2021-10-02 18:37:01 +02:00
Guldoman e2f7c984de Reset syntax highlighting on file rename 2021-10-02 18:37:00 +02:00
Guldoman 3b280401e4
Small cleanup of `scale` plugin 2021-10-02 03:24:35 +02:00
Adam Harrison b6829cb041 Used copy. 2021-09-24 11:22:39 -04:00
Adam Harrison 425a4f600b Forgot to reset offset. 2021-09-24 11:22:39 -04:00
Adam Harrison 67032f72ac Removed subpixel mentions. 2021-09-24 11:22:39 -04:00
Adam Harrison e25f2e9c5c Removed font renderer. 2021-09-24 11:22:39 -04:00
Francesco Abbate 14dd6f1cd6 Normalize to project dir in treeview open
When left-clicking in a TreeView file we use now
core.normalize_to_project_dir to normalize correctly
the file name.
2021-09-19 23:52:18 +02:00
Francesco Abbate 8d3680ab45 Scale custom syntax fonts for scale plugin
Close #539.
2021-09-19 18:51:44 +02:00
Guldoman 80a6b2245e
Reset syntax highlighting on file rename 2021-09-17 23:41:14 +02:00
Adam Harrison 2ac7c7f09b Syntax. 2021-09-16 17:43:17 -04:00
Adam Harrison 4b828eff65 Markdown subsyntax highlighting. 2021-09-16 17:29:44 -04:00
takase1121 7a24dbb17e revert new keyboard bindings 2021-09-09 07:44:58 +02:00
takase1121 1a21c66353 add autocomplete:cycle
Some (probably lots) of people are used to tabbing through autocomplete.
now, tab is binded to autocomplete:cycle while enter is binded to
autocomplete:complete.
2021-09-09 07:44:58 +02:00
Guldoman 474952645c Fix `treeview:open-in-system` command on Windows
The first argument is the title for the `CMD` window.
2021-09-07 22:33:48 +02:00
Guldoman 444c929e3c Add commands to manage tab style 2021-09-07 07:53:03 +02:00
Guldoman 0d2a89cb76 Don't use threads in `detectindent`
As it's execution only happens on load/save.
2021-09-07 07:53:03 +02:00
Guldoman 501be5fdfe Use configured indent values if `detectindent` can't detect them 2021-09-07 07:53:03 +02:00
Guldoman e99c76f8b8 Update `detectindent` cache only after saving/reloading
Before, if the indent wasn't fully detected, `detectindent` would try to 
update every second. On files with very long lines this would cause 
stutters.

Now the indent is updated only once after saving/reloading.
2021-09-07 07:53:03 +02:00
Francesco Abbate 4f68f7fd92 Try to fix problem with js syntax of '/=' operator
The operator '/=' was wrongly considered by the js syntax file as the
beginning of a regexp literal.

With this modification we modify the pattern for regexp literals to not
match expressions starting with '/='.

This doesn't seem entirely correct because apparently javascript can accept
regexp literals starting with '/=' but the rule used by the javascript
lexer is not known.
2021-09-06 09:31:17 +02:00
Guldoman f18629ab64 Avoid exposing `treeview` commands when not usable 2021-09-02 23:19:40 +02:00
Guldoman 167cda23f6 Make open files follow renames 2021-09-02 23:19:40 +02:00
Francesco Abbate e94718c5c4 Bring back min len autocomplete default to 3 2021-08-30 14:35:42 +02:00
Guldoman ab6eac399c Fix crash in project search when project has no files 2021-08-29 11:13:39 +02:00
Francesco Abbate ccba91261d Merge remote-tracking branch 'origin/fix-2.0.1' 2021-08-28 17:37:55 +02:00
Daniel Rocha 2b1c157a36 Refactored minimum scale bug fix code 2021-08-28 16:00:41 +02:00
Daniel Rocha 49ec7c88e8 Fix the additional four spaces to two spaces in the indent 2021-08-28 16:00:41 +02:00
Daniel Rocha dac3a9cba5 Fix minimal scale possible 2021-08-28 16:00:41 +02:00
Daniel Rocha 95e86b040b Refactored minimum scale bug fix code 2021-08-28 13:00:33 +02:00
Daniel Rocha 8335b11273 Fix the additional four spaces to two spaces in the indent 2021-08-28 13:00:33 +02:00
Daniel Rocha e342a017e1 Fix minimal scale possible 2021-08-28 13:00:33 +02:00
Francesco Abbate d46475532f Introduce View objects context property
Used to determine if an instance of the given class should
be closed or not when a project session is terminated.
2021-08-27 23:55:17 +02:00
takase1121 2fec3052ce add context menu options for logview 2021-08-24 11:31:22 +02:00
Adam Harrison b6af395fc7 2.0 changelog and modversion updates. 2021-08-17 20:24:44 +02:00
luarocks 205b52b08a Revert language_lua 2021-08-11 23:33:00 +02:00
luarocks 0bafece6a6 Add textadept theme and correct language_lua just a bit 2021-08-11 23:33:00 +02:00
Francesco Abbate 62bcc6abc2 Fix missing commas in autocomplete module 2021-08-02 10:07:43 +02:00
takase1121 1725b3ab83 revert config.lineguide option 2021-08-02 09:57:21 +08:00
takase1121 3b3677ca4b add config.lineguide option 2021-08-02 09:57:21 +08:00
Adam Harrison 0777a6f0b8 Merged dev to master. 2021-07-20 14:39:50 -04:00
Francesco Abbate 7605b626e8 Add language_cpp plugins
Brought form the 1.16.12 release.

It provides support for C++ using multi-part syntax patterns. Take
the priority over C language plugins for header files.
2021-07-19 08:18:38 +02:00
Adam Harrison 423cd33810 Typo. 2021-07-15 17:58:14 -04:00
Adam Harrison e539310e6d Namespace plugin-specific configuration settings. 2021-07-15 17:58:14 -04:00
jgmdev afa0c175e8 Added delete confirmation using NagView. 2021-07-12 11:41:31 -04:00
jgmdev a4d5622eda Make use of core.reschedule_project_scan() 2021-07-11 23:03:33 -04:00
jgmdev 68459a9199 Added context menu to treeview. 2021-06-28 11:11:49 -04:00
Adam Harrison f9edca712d Added in lineguide to core. 2021-06-21 23:21:07 +02:00
jgmdev e9e1214e59 [plugin/scale] fixed wrong increase and decrease
If the user manually set the desired scale by calling scale.set(1.60)
the scale_level was not set accordingly which meant that later doing
a Scale:Increase/Decrease command yielded incorrect scale amount.
2021-06-17 20:58:22 -04:00
Francesco Abbate 1ad4289e76 Do not try to update topdir folder in treeview
If the directory expanded is a project's top directory
do not attempt to update its content.

Fix again issue #275
2021-06-17 19:07:32 +02:00
Francesco Abbate 4c9083398a Fix error in dirname computation in TreeView
In TreeView:on_mouse_pressed() we need to find the directory a
relative filename belongs to from its absolute filename.
The code was using string.find to locate the relative filename
within the absolute path but in some very specific cases we can
find a pattern which is not the right-most one leading to a
wrong directory name.

Fix the error by adding a loop to make sure we find the right-most
match. The standard Lua library has not a string.rfind to make a
reverse search.

Close #275
2021-06-17 18:23:30 +02:00
Francesco Abbate b39db791f9 Do not duplicate RootView method in contextmenu
The method RootView:on_mouse_pressed was copied in the contextmenu plugin with
a small modification to intercept the mouse clicks of the active view.

This approach is problematic because a relatively large portion of code is
duplicated.

We introduced a function named RootView.on_view_mouse_pressed to let plugins
like contextmenu intercepts mouse clicks in the active area without duplicating
the function RootView:on_mouse_pressed.
2021-06-17 10:22:31 +02:00