aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-30Merge branch 'dmon-1' into dmon-debugdmon-debugFrancesco Abbate
2021-09-30Fix in dmon.h for macOS path case sensitivityFrancesco Abbate
2021-09-30Fix error in dir_rescan_add_jobFrancesco Abbate
2021-09-29Remove calls to reschedule_project_scanFrancesco Abbate
2021-09-29Fix call to missing project_files_limitFrancesco Abbate
2021-09-29remove dev noteFrancesco Abbate
2021-09-29Use PLATFORM to detect macOS for key bindingsFrancesco Abbate
2021-09-29Use new dmon version win watch_add/rmFrancesco Abbate
Include changes in dmon not yet merged into master.
2021-09-29Add missing pthread dependencyFrancesco Abbate
2021-09-29Fix files limited project with dir monintoringFrancesco Abbate
Changed approach to files limited project. Now we keep into the top-level dir a list of subdirectories to be shown. When in file limited mode we will not scan subdirectories unless they are in the list of shown subdirectories. With the new mechanism the function get_subdirectory_files always recurse into subdirectories by default but is able to figure out to stop recursing into subdirectories for files limited project. The new mechanism is more robust of the previous one. Now the rescan of subdirectories is compatible with files limited project.
2021-09-29Fix a new things about project rescanFrancesco Abbate
Add a flag core.redraw to force redraw when rescan is done. Inhibit recursion when files_limit is reached. Still doesn't work correctly for files limited directories.
2021-09-29Smarter algorithm to patch files listFrancesco Abbate
New algorithm use the fact that files list are always sorted to optimize the table's insertions and removals.
2021-09-29Fix error in rescan list replaceFrancesco Abbate
2021-09-29Ensure all project files are correctly filteredFrancesco Abbate
2021-09-29Fix a few things about dmonFrancesco Abbate
Ensure that we call coroutine.yield when scanning recursively. Do not use a weak-key based on project dir when adding the job for rescan. Since "dir" was not unique many threads were missing. Ensure we do not block waiting for events if there are pending rescan.
2021-09-29Ensure directory is rescanned after the first readFrancesco Abbate
2021-09-29Implement project files rescan on dir changesFrancesco Abbate
In theory the dmon based directory monitoring is enough to ensure that the list of project files is always correct. In reality some events may be missing and the project files list may get disaligned with the real list of files. To avoid the problem we add an additional rescan to be done later in a thread on any project subdirectory affected by an event of directory of file change. In the rescan found the same files already present the thread terminates. If a difference is found the files list is modified and a new rescan is scheduled.
2021-09-29More accurate path compare functionFrancesco Abbate
2021-09-29Update dmon from septag/dmon commit 74bbd93bFrancesco Abbate
The new version includes fixes from jgmdev, github PR: https://github.com/septag/dmon/pull/11 to solve incorrect behavior on linux not reporting directory creation. Includes also a further revision from septag.
2021-09-29Show max files warning message for initial projectFrancesco Abbate
If the max number of files limit is achieved when the application is starting the StatusView is not yet configured so we cannot show the warning. We show the warning in the function scanning the directory only if the StatusView is up. On the other side, when the application starts it will check if the initial project dir hit the max files limit and show the warning if needed.
2021-09-29Fix several problem with directory updateFrancesco Abbate
When scanning a subdirectory on-demand ensure files aready present are not added twice. Files or directory can be already present due to dir monitoring create message. Fix check for ignore files when adding a file to respond to a dir monitor event to use each part of the file's path. Fix C function to compare files for treeview placement.
2021-09-29Fix bug with expanding directory when file limitedFrancesco Abbate
Introduce a new field in items generated by TreeView:each_item() to point "dir" to the toplevel directory entry. In this was we can simplify the code and know if the toplevel directory is files limited.
2021-09-29Treat watch dir errors and fix various thingsFrancesco Abbate
Verity if dmon_watch returns an error. Add a check if an added file for which we received a create event is ignored based on the user's config. Add some explanatory comments in the code.
2021-09-29Remove the treeview check for modified filesFrancesco Abbate
In the treeview the implementation was checking the files list to detect if it changed because of a project scan. Since we removed the project scan we no longer need the check. Removed the TreeView's self.last table that stores previous files object by top-level directories.
2021-09-29Remove the project scan threadFrancesco Abbate
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`.
2021-09-29Update dmon from septag/dmon with fix for linuxFrancesco Abbate
Update from https://github.com/septag/dmon, commit: 48234fc2 to include a fix for linux.
2021-09-29First integration of dmon for directory monitoringFrancesco Abbate
2021-09-29Use PLATFORM to detect macOS for key bindingsFrancesco Abbate
2021-09-29Enable inotify specific api only on linuxFrancesco Abbate
2021-09-26Remove files from project list when collapsedFrancesco Abbate
Only in limited files mode. We now symmetrically add the files if a folder is expanded and remove them if it is collapsed.
2021-09-26Fix abort when dmon_watch_rm remove a wdFrancesco Abbate
2021-09-26Bring back the dmon_watch_rm functionFrancesco Abbate
2021-09-26Move to dmon.h new version to testFrancesco Abbate
By doing so we removed the addition of dmon_watch_rm and the Lua code will no longer compile.
2021-09-21WIP: temporary fix for testingFrancesco Abbate
2021-09-21Add missing pthread dependencyFrancesco Abbate
2021-09-21Fix errors with previous commitFrancesco Abbate
2021-09-21Add dmon_watch_rm function to remove subdirFrancesco Abbate
2021-09-20WIP: add some notes about dmon_watch_addFrancesco Abbate
2021-09-20WIP: using new dmon_watch_add functionFrancesco Abbate
2021-09-20Adding new dmon version with dmon_watch_addFrancesco Abbate
2021-09-10Fix repackage script to restore project versionv2.0.2Francesco Abbate
2021-09-10Add -branch option in repackage scriptFrancesco Abbate
2021-09-10Avoid bug when replacement stop at end of stringFrancesco Abbate
Detect when we are past the end of the string to avoid by checking if byte is not nil. Fix #510.
2021-09-10Use line/col to identify selection in replace commandFrancesco Abbate
2021-09-09Do not fail search if there was an option changeFrancesco Abbate
2021-09-09Reword changelogFrancesco Abbate
2021-09-09Bring back command find-replace:select-nexttesting-2.0.2Francesco Abbate
Bring back the command like before to keep single selection but with ctrl+f3 keybindings. Change the name of the new multi-cursor command but keep the ctrl+d keybinding.
2021-09-09Allow `find-replace:select-next` to select more occurrences after wrapGuldoman
The initial position for the search is defined by the last selection towards the end of the file. After reaching the end of the file, it would always select the same selection to start the search from. Now, we start the search from each selection, until a new occurrence is found.
2021-09-09Add previous find and replace in sessionFrancesco Abbate
2021-09-09Add missing remove tooltip callFrancesco Abbate