aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-08Fix AppImage working directory problemmaster-2.0Francesco Abbate
2022-08-09Update lhelper build filesFrancesco Abbate
2022-04-30More correctly manage ARCH in appimage scriptFrancesco Abbate
2022-04-27Add new lhelper build filesFrancesco Abbate
2022-04-20Use CPU_TYPE variable for arch if availableFrancesco Abbate
The variable is now defined by lhelper.
2022-04-17Add syntax symbols for auto-completeFrancesco Abbate
2022-03-31Add build job for sourcehutFrancesco Abbate
2022-03-14No longer load deleted files from workspaceFrancesco Abbate
2022-03-14Add changelog entry for NagView changeFrancesco Abbate
2022-03-11nagview: support vscroll when message is too longjgmdev
Also some other minor changes: * fix transition when nagview is closed * do not draw or update when not visible * do not process events when not visible * cleaned a bit the logic on next and show * fixes #848
2022-02-12Add a script to repackage a release into an appimageFrancesco Abbate
2022-02-12Fix version option for appimage scriptFrancesco Abbate
2022-02-11Fix a new things about the appimage scriptFrancesco Abbate
Using the work of @redtide fixing a few bits. It works but the need to allow for an unspecified version when invoking build-package.sh.
2022-01-29Include addons with build-package for bundlesv2.0.5Francesco Abbate
2022-01-27Fix again bug with invalid ignore_files patternstesting-2.0.5Francesco Abbate
The pattern cannot be tested in advance as it seems that Lua inspect the pattern only partially, the part that is actually used. We resort to use pcall to catch any error when using the pattern.
2022-01-26Add a small top margin when drawing tabsFrancesco Abbate
Using style.divider_size for the top margin size.
2022-01-25Do no error out on malformed ignore patternsFrancesco Abbate
2022-01-25Add gruvbox light and dark themeFrancesco Abbate
Created based on the gruvbox color theme: https://github.com/morhetz/gruvbox
2022-01-24Fix problem with project module save hookFrancesco Abbate
2022-01-24Use new mutex in dmon to avoid possible lock-upFrancesco Abbate
We rely on one variable _dmon.modify_watches shared between thread to ensure that we don't lock with the dmon polling thread waiting indefinitely and helding a lock. To ensure that the polling thread sees modifications done to 'modify_watches' we use an additional mutex that act as a memory barrier.
2022-01-19Bump version and changelog to prepare 2.0.5 releaseFrancesco Abbate
2022-01-18Remove remaining debug messageFrancesco Abbate
2022-01-13Treat final '/' or '/$' in ignore rule as part of the patternFrancesco Abbate
Evolve the rule for directory in ignore_files to be more natural and easy to understand. When a final '/' or '/$' is found we consider the pattern to match a directory and the pattern is not modifed. In turns, is used, before matching a directory's name a final '/' is appended to its name before checking if it matches the pattern. With the previous rule a final '/' in the pattern meant also a directory but the '/' was removed from the pattern.
2022-01-13Fix error to close view when deleting a fileFrancesco Abbate
2022-01-12Fix project files reading with symlinkfix-dir-monitor-symlinksFrancesco Abbate
2022-01-10Ensure config.plugins are restored on new configFrancesco Abbate
When a user's or project's module configuration file is changed we make sure that the config.plugins fields are all restored so that all plugins already loaded can continue to work.
2022-01-09Fix checks when opening new project directoryFrancesco Abbate
2022-01-09Remove remaining debug code fragmentFrancesco Abbate
2022-01-09Use a timeout in dmon thread with pending eventsFrancesco Abbate
2022-01-09Attempt to fix dmon critical section for windowsFrancesco Abbate
Should fix commit bb12f085f3. When taking the critical section we should always send the event to wakeup the events thread. In addition use TryEnterCriticalSection to send the event only if needed reducing the number of spurious events sent.
2022-01-09Do not use timeout in dmon linux selectFrancesco Abbate
Wait indefinitely in select and wake-up the thread when needed.
2022-01-09Fix some errors with previous commitsFrancesco Abbate
2022-01-09On Windows wait indefinitely in dmon threadFrancesco Abbate
Avoid waiting with a finite timeout and wait indefinitely in dmon thread. When we need to unwatch we send a signal to a special event meant to wakeup the waiting thread.
2022-01-09Report error codes from dmon_watch_addFrancesco Abbate
2022-01-09Ensure project rescan thread is terminatedFrancesco Abbate
When changing a project we need to ensure that the old threads are no longer run.
2022-01-09Remove DMON_LOG_ERROR to return an error codeFrancesco Abbate
2022-01-09Fix undue asserts in dmon_extraFrancesco Abbate
Some asserts are placed in case that can effectively occur so we remove the assertion and we return false. In turn we adapt the logic accordingly so when false is returned to add a watch we do not open that directory.
2022-01-09Write an initial project module if not presentFrancesco Abbate
2022-01-09Add some comments for ignore_files logicFrancesco Abbate
2022-01-09Use compiled ignore_files patternFrancesco Abbate
Try to digest the ignore_files pattern before potentially processing a lot of files because it may be expensive.
2022-01-09First version of paths in ignore_filesFrancesco Abbate
Works correctly and the logic seems sound even if somewhat quirky. `^%.` match any file of directory whose basename begins with a dot. `^/node_modules$/"` match a directory named `node_modules` at the project's root. Note that the final '/' needs to be at the end. The '/' after the '^' needs to be there to trigger a match of the full path filename so we are sure it is at the root. PROBLEM: the '/' to trigger full path match could be in a pattern's special expression like: [^/] `^%.git$/` match any directory name '.git' anywhere in the project. `^/%.git$/` match a directory named '.git' only at the project's root. `^/subprojects/.+/` match any directory in a top-level folder named "subprojects". `^/build/` match any top level directory whose name begins with "build" PROBLEM: may be surprising, one may expects it matches only a directory named 'build'. It actually acts like it was `^/build.*/`.
2022-01-07Clear TreeView cache when closing projectFrancesco Abbate
2022-01-06Fix problem when reloading project directoryFrancesco Abbate
2022-01-05Do not force choosing project dir to suggestionFrancesco Abbate
When changing or opening a project directory do not take the selected item from suggestion but simply the entered text as it is. Otherwise the user may be unable to choose a directory if the text matches the beginning of suggestion. Close #791
2022-01-05Fix problem with special file typesFrancesco Abbate
For special file types like the ones in /dev/ the info entry's type is neither file neither dir. We prevent these kind of files from being listed in the project.
2022-01-05Fix logic with project directories suggestionsFrancesco Abbate
Attempt to fix issue #791. The logic set with the previous commit for suggest_directory is similar to the one we use except the previous expression was false do to operator precedence for "and" versus "or". With the modification here, when opening a project directory, we suggest the recently used projects if the text is equal to dirname(project_dir) + "/" which happens to be the text the command view is initially set to. In addition we do the same if text is "". If the condition is not met we return the suggestions from common.dir_path_suggest to match the text entered. Works well on Linux but may not solve the problem on Windows, it should be tested.
2022-01-04Do not reload core.keymap moduleFrancesco Abbate
Avoid reloading the core.keymap module when user's config or project module change. The reason is the plugins like autocomplete can add keymaps and the additions from plugins would be lost. Close issue #793
2022-01-03Fix logic for file create eventFrancesco Abbate
When we get a file or directory creation event we need to ensure that all the parent directories pass the ignore_files test.
2021-12-31Revert "No longer store autocomplete options in config"Francesco Abbate
This reverts commit 0f1b84040dd823823c17e925e1ed10380b7737c1. The new mechanism to save config.plugins upon user's configuration reload let us stay compatible with existing plugins.
2021-12-31Restore config.plugins when reloading configFrancesco Abbate
Some plugins store options in: config.plugins.<plugin-name> so we restore all the kay-values of config.plugins when reloading the user preferences.