Since the directory monitoring is now basically working we remove the
project scan thread periodically scanning the project directory.
Each project's directory is scanned only once at the beginning when
calling the function `core.add_project_directory` and is updated
incrementally when directory change events are treated.
The config variable `project_scan_rate` is removed as well as the
function `core.reschedule_project_scan`.
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.
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.
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.
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.
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
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.