diff --git a/.github/README.md b/.github/README.md index fdc878d6..029f2fc8 100644 --- a/.github/README.md +++ b/.github/README.md @@ -69,7 +69,7 @@ [Home-Manager module]: https://notashelf.github.io/nvf/index.xhtml#ch-standalone-hm - **Simple**: One language to rule them all! Use Nix to configure everything, - with optional Lua support for robust configurability! + with additional Lua Support - **Reproducible**: Your configuration will behave the same _anywhere_. No surprises, promise! - **Portable**: nvf depends _solely_ on your Nix store, and nothing else. No @@ -77,9 +77,8 @@ - Options to install [standalone], [NixOS module] or [Home-Manager module]. - **Customizable**: There are _almost no defaults_ to annoy you. nvf is fully customizable through the Nix module system. - - Not comfortable with a full-nix config or want to bring your Lua config? You - can do just that, no unnecessary restrictions. - - Lazyloading? We got it! Lazyload both internal and external plugins at will. +- Not comfortable with a full-nix config or want to bring your Lua config? You + can do just that, no unnecessary restrictions. - **Well-documented**: Documentation is priority. You will _never_ face undocumented, obscure behaviour. - **Idiomatic**: nvf does things ✨ _the right way_ ✨ - the codebase is, and diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md deleted file mode 100644 index 52a9ae64..00000000 --- a/docs/release-notes/rl-0.8.md +++ /dev/null @@ -1,10 +0,0 @@ -# Release 0.8 {#sec-release-0.8} - -[NotAShelf](https://github.com/notashelf): - -[typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim - -- Add [typst-preview.nvim] under - `languages.typst.extensions.typst-preview-nvim`. - -- Add a search widget to the options page in the nvf manual. diff --git a/docs/static/script/search.js b/docs/static/script/search.js index e20c2314..34ce28bd 100644 --- a/docs/static/script/search.js +++ b/docs/static/script/search.js @@ -1,12 +1,14 @@ document.addEventListener("DOMContentLoaded", () => { if (!window.location.pathname.endsWith("options.html")) return; + const searchBar = document.createDocumentFragment(); const searchDiv = document.createElement("div"); searchDiv.id = "search-bar"; searchDiv.innerHTML = `
`; + searchBar.appendChild(searchDiv); document.body.prepend(searchDiv); const dtElements = Array.from(document.querySelectorAll("dt")); @@ -20,39 +22,19 @@ document.addEventListener("DOMContentLoaded", () => { return; } - const dtElementsData = dtElements.map((dt, index) => ({ - element: dt, - id: dtOptionIds[index], - ddElement: ddElements[index], - })); - - const hiddenClass = "hidden"; - const hiddenStyle = document.createElement("style"); - hiddenStyle.innerHTML = `.${hiddenClass} { display: none; }`; - document.head.appendChild(hiddenStyle); - let debounceTimeout; document.getElementById("search-input").addEventListener("input", (event) => { clearTimeout(debounceTimeout); debounceTimeout = setTimeout(() => { const query = event.target.value.toLowerCase(); + dtElements.forEach((dt, index) => { + const isMatch = dtOptionIds[index].includes(query); - const matches = []; - const nonMatches = []; - - dtElementsData.forEach(({ element, id, ddElement }) => { - const isMatch = id.includes(query); - if (isMatch) { - matches.push(element, ddElement); - } else { - nonMatches.push(element, ddElement); + if (dt.classList.contains("hidden") !== !isMatch) { + dt.classList.toggle("hidden", !isMatch); + ddElements[index]?.classList.toggle("hidden", !isMatch); } }); - - requestAnimationFrame(() => { - matches.forEach((el) => el?.classList.remove(hiddenClass)); - nonMatches.forEach((el) => el?.classList.add(hiddenClass)); - }); }, 200); }); }); diff --git a/docs/static/style.scss b/docs/static/style.scss index d6becd0c..d5f739e5 100644 --- a/docs/static/style.scss +++ b/docs/static/style.scss @@ -189,16 +189,14 @@ th { dt { margin: 1.2rem 0 0.8rem; - content-visibility: auto; - contain-intrinsic-size: auto 42px; -} -dd { - margin-left: 2rem; - content-visibility: auto; - contain-intrinsic-size: auto 500px; } -div.book {} +dd { + margin-left: 2rem; +} + +div.book { +} ul { @include margined; @@ -240,12 +238,11 @@ li { top: 0; background: white; padding: 10px; - border-bottom: 1px solid $color-gray-200; + border-bottom: 1px solid #ccc; z-index: 1000; @media (prefers-color-scheme: dark) { background: $color-gray-900; color: $color-gray-50; - border-bottom: 1px solid black; } } diff --git a/flake.lock b/flake.lock index d5532b4b..e84beb3a 100644 --- a/flake.lock +++ b/flake.lock @@ -1902,22 +1902,6 @@ "type": "github" } }, - "plugin-typst-preview-nvim": { - "flake": false, - "locked": { - "lastModified": 1733120663, - "narHash": "sha256-uYMZ2PONiiI3UDvCgNvyy4+jhzmUDbAyxX0phKxELXw=", - "owner": "chomosuke", - "repo": "typst-preview.nvim", - "rev": "0cb5f5627312f50ce089f785ec42b55a85f30ce7", - "type": "github" - }, - "original": { - "owner": "chomosuke", - "repo": "typst-preview.nvim", - "type": "github" - } - }, "plugin-vim-dirtytalk": { "flake": false, "locked": { @@ -2167,7 +2151,6 @@ "plugin-tokyonight": "plugin-tokyonight", "plugin-trouble": "plugin-trouble", "plugin-ts-error-translator": "plugin-ts-error-translator", - "plugin-typst-preview-nvim": "plugin-typst-preview-nvim", "plugin-vim-dirtytalk": "plugin-vim-dirtytalk", "plugin-vim-fugitive": "plugin-vim-fugitive", "plugin-vim-illuminate": "plugin-vim-illuminate", diff --git a/flake.nix b/flake.nix index 65c802f2..e52f9416 100644 --- a/flake.nix +++ b/flake.nix @@ -206,11 +206,6 @@ flake = false; }; - plugin-typst-preview-nvim = { - url = "github:chomosuke/typst-preview.nvim"; - flake = false; - }; - plugin-nvim-metals = { url = "github:scalameta/nvim-metals"; flake = false; diff --git a/modules/plugins/languages/typst.nix b/modules/plugins/languages/typst.nix index 24097e2c..fbb090e8 100644 --- a/modules/plugins/languages/typst.nix +++ b/modules/plugins/languages/typst.nix @@ -7,13 +7,10 @@ inherit (lib.options) mkEnableOption mkOption; inherit (lib.modules) mkIf mkMerge; inherit (lib.lists) isList; - inherit (lib.types) nullOr enum either attrsOf listOf package str; + inherit (lib.types) enum either listOf package str; inherit (lib.attrsets) attrNames; - inherit (lib.generators) mkLuaInline; - inherit (lib.meta) getExe; - inherit (lib.nvim.lua) expToLua toLuaObject; - inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption; - inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) expToLua; + inherit (lib.nvim.types) mkGrammarOption; cfg = config.vim.languages.typst; @@ -36,7 +33,6 @@ } ''; }; - tinymist = { package = pkgs.tinymist; lspConfig = '' @@ -124,50 +120,6 @@ in { default = formats.${cfg.format.type}.package; }; }; - - extensions = { - typst-preview-nvim = { - enable = - mkEnableOption '' - [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim - - Low latency typst preview for Neovim via [typst-preview.nvim] - '' - // {default = true;}; - - setupOpts = mkPluginSetupOption "typst-preview-nvim" { - open_cmd = mkOption { - type = nullOr str; - default = null; - example = "firefox %s -P typst-preview --class typst-preview"; - description = '' - Custom format string to open the output link provided with `%s` - ''; - }; - - dependencies_bin = mkOption { - type = attrsOf str; - default = { - "tinymist" = getExe servers.tinymist.package; - "websocat" = getExe pkgs.websocat; - }; - - description = '' - Provide the path to binaries for dependencies. Setting this - to a non-null value will skip the download of the binary by - the plugin. - ''; - }; - - extra_args = mkOption { - type = nullOr (listOf str); - default = null; - example = ["--input=ver=draft" "--ignore-system-fonts"]; - description = "A list of extra arguments (or `null`) to be passed to previewer"; - }; - }; - }; - }; }; config = mkIf cfg.enable (mkMerge [ (mkIf cfg.treesitter.enable { @@ -184,13 +136,5 @@ in { vim.lsp.lspconfig.enable = true; vim.lsp.lspconfig.sources.typst-lsp = servers.${cfg.lsp.server}.lspConfig; }) - - # Extensions - (mkIf cfg.extensions.typst-preview-nvim.enable { - vim.startPlugins = ["typst-preview-nvim"]; - vim.pluginRC.typst-preview-nvim = entryAnywhere '' - require("typst-preview").setup(${toLuaObject cfg.extensions.typst-preview-nvim.setupOpts}) - ''; - }) ]); } diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index ab541419..4680190a 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -12,28 +12,22 @@ cfg = config.vim; in { options.vim = { - enableLuaLoader = mkOption { - type = bool; - default = false; - example = true; - description = '' - [{option}`official documentation`]: https://neovim.io/doc/user/lua.html#vim.loader.enable() + enableLuaLoader = mkEnableOption '' + [{option}`official documentation`]: https://neovim.io/doc/user/lua.html#vim.loader.enable() - the experimental Lua module loader to speed up the start up process + the experimental Lua module loader to speed up the start up process - If `true`, this will enable the experimental Lua module loader which: - - overrides loadfile - - adds the lua loader using the byte-compilation cache - - adds the libs loader - - removes the default Neovim loader + If `true`, this will enable the experimental Lua module loader which: + - overrides loadfile + - adds the lua loader using the byte-compilation cache + - adds the libs loader + - removes the default Neovim loader - ::: {.note} - The Lua module loader is *disabled* by default. Before setting this option, please - take a look at the [{option}`official documentation`]. This option may be enabled by - default in the future. - ::: - ''; - }; + ::: {.note} + This is disabled by default. Before setting this option, please + take a look at the [{option}`official documentation`]. + ::: + ''; additionalRuntimePaths = mkOption { type = listOf (either path str); diff --git a/release.json b/release.json index a80b41ea..28c5eb7f 100644 --- a/release.json +++ b/release.json @@ -1,4 +1,4 @@ { - "release": "v0.8", - "isReleaseBranch": false + "release": "v0.7", + "isReleaseBranch": true }