* extracted graph from workspace
* refactored datastore
* dataviz to use URI for placeholder detection
* graph uses uris, not resources
* adding placeholder in graph
* link completion to use graph
* API v1 - Resource refactoring (#595)
* aside: tweaked jest extension configuration
* added provider for markdown
* removed file check in URI
the problem is that it makes the URI dependent on the disk, which makes testing harder.
The change was originally introduced to prevent Foam from treating directories ending in .md as markdown files, but the check needs to probably happen somewhere else, e.g. in `FileDataStore.list` - or directories should be expressed with a trailing slash (to check whether that breaks the URI convention)
* Various changes
- `resolveLink` now delegates to providers
- added `read` method in providers and `FoamWorkspace`
- improved `Matcher` API
- updated tests to use workspace with providers
- delegating more to workspace now it can read files (simplifies wiring and exposed API surface)
- provider init returns a promise, so it can be awaited on
- `IDataStore` now has `list` method, to encapsulate all access to FS
* improved windows support in URI and matcher
* improved grouped resources interface
* added readAsMarkdown in provider, useful for tooltip generation with preview in vscode
* Fix: Right links and formatting
* Docs: Run markdownlint to automatically fix minor formatting errors
* Style: Format with markdownlint and not prettier
* when calling URI.file more than two time on windows
* a extra slash('/') at path's beginning may cause some problems
* so add a condition to solve it
* placeholders are updated when creating connection, not when resolving link
* feature: link completion
* added tests
Co-authored-by: Jani Eväkallio <jani.evakallio@gmail.com>
* refactored URI to be less dependent on VS Code implementation
* moved uri tests in own file, and added test case from #507
* added license info for VS Code inspired code
* moved URI utility methods in abstract class for namespacing
* better names for some methods
Co-authored-by: Jonathan <jonny@mondago.com>
* added uri utility method, and exposing uri module
* added utility methods
* renamed and enhanced open-placeholder-note command to support all resources
* support for links via document link provider and decorator
* use open resource command in tree data provider
* make open resource command unavailable in command palette
* using snippet for better UX when creating note from placeholder
* exposing parser as a Foam service
* consolidated "open resource" command code
* added tests for document links provider
* added caching of VS Code also for lint
Even if linting doesn't require the vscode part of the cache, we are not separating the two cases so that we only have one cache to maintain, and linting being a faster task (and a task that should fail less than tests) will update the cache more often, speeding up the run of the tests afterwards