| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
The variable is now defined by lhelper.
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
Using style.divider_size for the top margin size.
|
|
|
|
Created based on the gruvbox color theme:
https://github.com/morhetz/gruvbox
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
Wait indefinitely in select and wake-up the thread when needed.
|
|
|
|
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.
|
|
|
|
When changing a project we need to ensure that the old threads
are no longer run.
|
|
|
|
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.
|
|
|
|
|
|
Try to digest the ignore_files pattern before potentially processing
a lot of files because it may be expensive.
|
|
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.*/`.
|
|
|
|
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
When we get a file or directory creation event we need to
ensure that all the parent directories pass the ignore_files
test.
|
|
This reverts commit 0f1b84040dd823823c17e925e1ed10380b7737c1.
The new mechanism to save config.plugins upon user's configuration
reload let us stay compatible with existing plugins.
|
|
Some plugins store options in:
config.plugins.<plugin-name>
so we restore all the kay-values of config.plugins when
reloading the user preferences.
|