You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A list of core concepts that help you to grasp things faster.
14
-
15
-
## Plugins
16
-
17
-
A plugin is a module that can be loaded/unloaded while the launcher is running.
18
-
They could be native plugins (shared libraries) or provided by plugin providers, such as Python modules from the Python plugin provider.
19
-
Nested plugins are only accessible if their provider is loaded.
20
-
21
-
Users can enable/disable or load/unload plugins via the Plugins tab in settings or using the built-in plugin query handler.
22
-
Enabled plugins load automatically at launch.
23
-
Plugins with graphical interfaces for configuration can be accessed via the Plugins tab.
24
-
Some plugins offer more detailed usage information there.
25
-
26
-
## Extensions
27
-
28
-
Each plugin can provide various extensions, like frontends, plugin providers, fallback providers or query handlers.
29
-
While frontends and plugin providers are advanced topics, fallback providers, global- and triggered query handlers are central to the app's functionality.
30
-
31
-
## Queries
32
-
33
-
The core of the app is the query engine which parses user input and decides the mode of a query.
34
-
If the query is prefixed by a trigger defined by any of the trigger query handlers the coresponding handler will handle the query exclusively.
35
-
This allows the handler to display matches as soon as they are available.
36
-
Queries without triggers are delegated to all global query handlers (multithreaded).
37
-
As soon as the handlers finished the matches are sorted by match score and usage history and displayed.
38
-
Additionally, fallback handlers offer a separate set of results: the fallback items.
Copy file name to clipboardExpand all lines: src/gettingstarted/extension/index.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -24,14 +24,14 @@ A quick comparison:
24
24
25
25
## General considerations and best practices
26
26
27
-
### How to version plugins
27
+
### Semantic versioning
28
28
29
29
If it has a public API `major.minor.patch` else `minor.patch`.
30
30
Increase major if the API breaks.
31
31
Increase minor if the API got some backward compatible additions or the user experiences noticeable changes.
32
32
In all other cases increase patch.
33
33
34
-
### Avoiding name conflicts of extension identifiers
34
+
### Avoid extension identifier conflicts
35
35
36
36
If your plugin provides multiple extensions it's a good idea to prepend the plugin id to the extension id to avoid name conflicts of extensions, e.g. `files.root_browser`.
37
37
The root extension is fine to match the plugin id.
0 commit comments