Merge pull request #231 from barrettruth/fix/config
use `vim.g` for setup
This commit is contained in:
commit
81ddd1ea87
3 changed files with 66 additions and 71 deletions
|
|
@ -205,13 +205,9 @@ Debug Builds ~
|
||||||
==============================================================================
|
==============================================================================
|
||||||
CONFIGURATION *cp-config*
|
CONFIGURATION *cp-config*
|
||||||
|
|
||||||
Here's an example configuration with lazy.nvim:
|
Configuration is done via `vim.g.cp_config`. Set this before using the plugin:
|
||||||
>lua
|
>lua
|
||||||
{
|
vim.g.cp_config = {
|
||||||
'barrettruth/cp.nvim',
|
|
||||||
cmd = 'CP',
|
|
||||||
build = 'uv sync',
|
|
||||||
opts = {
|
|
||||||
languages = {
|
languages = {
|
||||||
cpp = {
|
cpp = {
|
||||||
extension = 'cc',
|
extension = 'cc',
|
||||||
|
|
@ -270,7 +266,6 @@ Here's an example configuration with lazy.nvim:
|
||||||
picker = 'telescope',
|
picker = 'telescope',
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
|
||||||
<
|
<
|
||||||
|
|
||||||
By default, C++ (g++ with ISO C++17) and Python are preconfigured under
|
By default, C++ (g++ with ISO C++17) and Python are preconfigured under
|
||||||
|
|
@ -279,7 +274,7 @@ the default; per-platform overrides can tweak 'extension' or 'commands'.
|
||||||
|
|
||||||
For example, to run CodeForces contests with Python by default:
|
For example, to run CodeForces contests with Python by default:
|
||||||
>lua
|
>lua
|
||||||
{
|
vim.g.cp_config = {
|
||||||
platforms = {
|
platforms = {
|
||||||
codeforces = {
|
codeforces = {
|
||||||
default_language = 'python',
|
default_language = 'python',
|
||||||
|
|
@ -290,7 +285,7 @@ For example, to run CodeForces contests with Python by default:
|
||||||
Any language is supported provided the proper configuration. For example, to
|
Any language is supported provided the proper configuration. For example, to
|
||||||
run CSES problems with Rust using the single schema:
|
run CSES problems with Rust using the single schema:
|
||||||
>lua
|
>lua
|
||||||
{
|
vim.g.cp_config = {
|
||||||
languages = {
|
languages = {
|
||||||
rust = {
|
rust = {
|
||||||
extension = 'rs',
|
extension = 'rs',
|
||||||
|
|
|
||||||
|
|
@ -11,25 +11,25 @@ if vim.fn.has('nvim-0.10.0') == 0 then
|
||||||
return {}
|
return {}
|
||||||
end
|
end
|
||||||
|
|
||||||
local user_config = {}
|
|
||||||
local config = nil
|
|
||||||
local initialized = false
|
local initialized = false
|
||||||
|
|
||||||
|
local function ensure_initialized()
|
||||||
|
if initialized then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local user_config = vim.g.cp_config or {}
|
||||||
|
local config = config_module.setup(user_config)
|
||||||
|
config_module.set_current_config(config)
|
||||||
|
initialized = true
|
||||||
|
end
|
||||||
|
|
||||||
---@return nil
|
---@return nil
|
||||||
function M.handle_command(opts)
|
function M.handle_command(opts)
|
||||||
|
ensure_initialized()
|
||||||
local commands = require('cp.commands')
|
local commands = require('cp.commands')
|
||||||
commands.handle_command(opts)
|
commands.handle_command(opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.setup(opts)
|
|
||||||
opts = opts or {}
|
|
||||||
user_config = opts
|
|
||||||
config = config_module.setup(user_config)
|
|
||||||
config_module.set_current_config(config)
|
|
||||||
|
|
||||||
initialized = true
|
|
||||||
end
|
|
||||||
|
|
||||||
function M.is_initialized()
|
function M.is_initialized()
|
||||||
return initialized
|
return initialized
|
||||||
end
|
end
|
||||||
|
|
|
||||||
0
new
Normal file
0
new
Normal file
Loading…
Add table
Add a link
Reference in a new issue