diff --git a/doc/cp.nvim.txt b/doc/cp.nvim.txt index d6d1d73..17fd18c 100644 --- a/doc/cp.nvim.txt +++ b/doc/cp.nvim.txt @@ -205,9 +205,9 @@ Debug Builds ~ ============================================================================== CONFIGURATION *cp-config* -Configuration is done via `vim.g.cp_config`. Set this before using the plugin: +Configuration is done via `vim.g.cp`. Set this before using the plugin: >lua - vim.g.cp_config = { + vim.g.cp = { languages = { cpp = { extension = 'cc', @@ -274,7 +274,7 @@ the default; per-platform overrides can tweak 'extension' or 'commands'. For example, to run CodeForces contests with Python by default: >lua - vim.g.cp_config = { + vim.g.cp = { platforms = { codeforces = { default_language = 'python', @@ -285,7 +285,7 @@ For example, to run CodeForces contests with Python by default: Any language is supported provided the proper configuration. For example, to run CSES problems with Rust using the single schema: >lua - vim.g.cp_config = { + vim.g.cp = { languages = { rust = { extension = 'rs', diff --git a/lua/cp/init.lua b/lua/cp/init.lua index fac3044..3cb36c1 100644 --- a/lua/cp/init.lua +++ b/lua/cp/init.lua @@ -17,7 +17,7 @@ local function ensure_initialized() if initialized then return end - local user_config = vim.g.cp_config or {} + local user_config = vim.g.cp or {} local config = config_module.setup(user_config) config_module.set_current_config(config) initialized = true @@ -34,4 +34,13 @@ function M.is_initialized() return initialized end +---@deprecated Use `vim.g.cp` instead +function M.setup(user_config) + vim.deprecate('require("cp").setup()', 'vim.g.cp', 'v0.7.7', 'cp.nvim', false) + + if user_config then + vim.g.cp = vim.tbl_deep_extend('force', vim.g.cp or {}, user_config) + end +end + return M diff --git a/lua/cp/setup.lua b/lua/cp/setup.lua index fce1a0c..e3bb38d 100644 --- a/lua/cp/setup.lua +++ b/lua/cp/setup.lua @@ -160,6 +160,8 @@ function M.setup_contest(platform, contest_id, problem_id, language) vim.bo[bufnr].buftype = '' vim.bo[bufnr].swapfile = false + state.set_language(lang) + if cfg.hooks and cfg.hooks.setup_code and not vim.b[bufnr].cp_setup_done then local ok = pcall(cfg.hooks.setup_code, state) if ok then