As a developer/user I want to have a working QuantumVim configuration out of the box. Therefore dependencies should be installed on the system on first time setup should they not be available.
As a user I want to be able to create plugin configurations on the fly that are easily picked up by the runtime logic.
update genconfic.sh to create a user config plugin scope
implement a seperate template repository for the configuration
implement a configuration template for each plugin that provides plugin options, lazy specs and a strategy (#5 ):
General:
localM= {}
-- global options for all user configurationsM.strategy="override" -- | "keep" | "ignore"-- these can override the behaviorM.plugin= {}
M.spec= {}
returnM
Plugin specific:
localM= {}
-- these can override the behaviorM.plugin= {
__strategy="override" -- | "keep" | "ignore"
}
M.spec= {}
returnM
As a user/developer I want to be able to inject my configuration into the quantumvim configuration to either disable the full configuration or to extend(force override) existing configuration.
update functions to load user configuration from files in user config dir
base refactoring to module like implementation such as loader (SoC, utility functions)
As a user/developer I want to be able to inject my language specific settings into the present language algorithms without having to make changes in quantumvim's runtime files.
factor any settings and conditional parameters in the language section out to a confic file (eventually split logically into pieces such as null-ls, lsp and dap in a modular fashion to support future deprecation)
dap
null-ls
lsp
provide after and ftplugin folder in the user configuration (NOTE: the runtime path for quantumvim's internal ftplugins has to be placed before the ftplugin folder of the user #7 )
As a user I want to be able to create user configurations for specific scenarios as well as for different machines. Managing these configurations can be a nuisance when there is no easy way to integrate them into the runtime file.
update the install script to generate a new user configuration (with a prompt)
IMPORTANT: update existing user configurations
a template repository or something else
The configuration should provide various ways to alter the runtime of quantumvim:
general settings
plugins
languages
dap
lsp
null-ls (we use this until there is something new)
The code of quantum vim has grown too big so has the amount of log messages. Due to the use of only one logger factory message reports became redundant. Logging an entry at the error level for example causes the message to appear in any sink that is below error as well. Therefor each sink causes an entry to be logged.
add structlog as a dependency (Has to be in runtime path from the start #7 )
update the install script to dowload structlog on install in the pack directory
ensure lazy can pick up structlog for updates
implement multiple log factories as logical pieces
provide multiple log files as logical pieces (eventually seperated in directories, depending on the amount of sinks/factories)
As a user/developer I want to be able to inject my lazy specs into the quantumvim configuration to either disable the full configuration or to extend(force override) existing configuration.
update functions to load user configuration from files in user config dir