* Show note block in panels on hover preview
* Show tag references within tag explorer
* Improved structure of view related commands
* Refactored grouped resources tree data provider and added support for placeholders filter
- Consolidated the naming of the accessory commands
- Consolidated the management of the state/context related to grouping
- Removed group-by config, simply restore the last used setting
- Added filter to only show the placeholders related to the open file
* Refreshing placeholders when changing editor and filtering by active document
* Allow for `#` alone to trigger tag completion
In #1183, I reused [HASHTAG_REGEX](83a90177b9/packages/foam-vscode/src/core/utils/hashtags.ts (L2-L3))
to validate the tag line when the `CompletionProvider` was triggered.
I wanted to prevent this:
```markdown
# This is a Markdown header
```
but using the `HASHTAG_REGEX` had the side effect of requiring an
_additional_ character to trigger the completion provider.
```markdown
1. #p <-- triggers completion
2. # <-- does not trigger
3. #_ (space) <-- does not trigger
```
both 1. and 2. should have triggered.
To fix, I use a slightly different regex that uses a negative lookahead
to ensure that the `#` is not followed by a space. I also added spec
cases to cover this situation.
* Update regex for more robust detection of tags
Update the regex used for more robust detection of tags. Replace the
negative lookahead assertion `\s` with `[ \t]` (allow for `\n`), and
add `#` to the class so that `##` is ignored.
Attempted to add the negation `^[0-9p{L}p{Emoji}p{N}-/]` to the
negative look ahead. This was to exclude items like `#$`, `#&` that
can't be tags. However my regex-fu was insufficient.
Instead, if the regex match is to a single `#`, ensure it is the
character to the left of the cursor. Example
`this is text #%|`
where the `|` represents the cursor. The `TAG_REGEX`
will match the `#` at index 13. However since the cursor is at 15, the
Completion provider will not run.
Update the tests to cover these situations and add them all to a sub-
`describe` block labeled by the bug issue number #1189
* Use regex groups to determine match position
For the case like `here is #my-tag and now # |`, where `|` is the cursor
position after a trailing space, the match on `#my-tag` would allow tag
completion at the cursor position.
Ensure that the last regexp match group covers up to the the cursor
position. This also handles the case of `#$` because the match will only
be `#`.
This commit fixes an issue in the note creation flow where a template is used. Before the fix, when a template is present, Foam would force an absolute path resolution instead of delegating that step to the note creation. After the fix this step is removed and the resolution is left to the note creation code
Instead of a generic `TAG_REGEX`, use the more specific `HASHTAG_REGEX` to identify a tag when launching tab completion.
Also add a new test case with the issue number in the test case description
* Added title param in create-note command
* Added utility functions for commands
* Use create-note command when dealing with placeholders
* Updated open-resource command to new pattern
* Pass workspace.isTrusted to createFilter
* Fixed bug when finding absolute paths in workspace without providing basedir
* open-resource command can also receive `uri` param to skip filtering step
* added tests
* added docs
* Updated typescript and vscode engine version to support workspace trust
* updates tsdx to dts, and updated a other deps too
* updated eslint configuration
* Updated node version
* Update lerna
* Updated github action configuration
* removed glob library
* Added note filter and a few tests
* Added expression for filters and trusted workspace support
* Consolidate `include` and `exclude` into `path` parameter
* Added documentation