diff --git a/plugins/by-name/vimwiki/default.nix b/plugins/by-name/vimwiki/default.nix new file mode 100644 index 00000000..c533b86a --- /dev/null +++ b/plugins/by-name/vimwiki/default.nix @@ -0,0 +1,29 @@ +{ lib, ... }: +lib.nixvim.plugins.mkVimPlugin { + name = "vimwiki"; + globalPrefix = "vimwiki_"; + + maintainers = [ lib.maintainers.GaetanLepage ]; + + settingsExample = { + global_ext = 0; + use_calendar = 1; + hl_headers = 1; + hl_cb_checked = 1; + autowriteall = 0; + listsym_rejected = "✗"; + listsyms = "○◐●✓"; + list = [ + { + path = "~/docs/notes/"; + syntax = "markdown"; + ext = ".md"; + } + ]; + key_mappings = { + all_maps = 1; + global = 1; + headers = 1; + }; + }; +} diff --git a/tests/test-sources/plugins/by-name/vimwiki/default.nix b/tests/test-sources/plugins/by-name/vimwiki/default.nix new file mode 100644 index 00000000..c4b045f9 --- /dev/null +++ b/tests/test-sources/plugins/by-name/vimwiki/default.nix @@ -0,0 +1,165 @@ +{ + empty = { + plugins.vimwiki.enable = true; + }; + + defaults = { + plugins.vimwiki = { + enable = true; + + settings = { + CJK_length = 0; + auto_chdir = 0; + auto_header = 0; + autowriteall = 1; + conceallevel = 2; + conceal_onechar_markers = 1; + conceal_pre = 0; + create_link = 1; + diary_months = { + "1" = "January"; + "2" = "February"; + "3" = "March"; + "4" = "April"; + "5" = "May"; + "6" = "June"; + "7" = "July"; + "8" = "August"; + "9" = "September"; + "10" = "October"; + "11" = "November"; + "12" = "Decembe"; + }; + dir_link = ""; + emoji_enable = 3; + ext2syntax = { + ".md" = "markdown"; + ".mkdn" = "markdown"; + ".mdwn" = "markdown"; + ".mdown" = "markdown"; + ".markdown" = "markdown"; + ".mw" = "media"; + }; + folding = ""; + filetypes = [ ]; + global_ext = 1; + hl_cb_checked = 0; + hl_headers = 0; + html_header_numbering = 0; + html_header_numbering_sym = ""; + key_mappings = { + all_maps = 1; + global = 1; + headers = 1; + text_objs = 1; + table_format = 1; + table_mappings = 1; + lists = 1; + lists_return = 1; + links = 1; + html = 1; + mouse = 0; + }; + links_header = "Generated Links"; + links_header_level = 1; + listing_hl = 0; + listing_hl_command = "pygmentize -f html"; + listsyms = " .oOX"; + listsym_rejected = "-"; + map_prefix = "w"; + markdown_header_style = 1; + menu = "Vimwiki"; + schemes_web = [ + "http" + "https" + "file" + "ftp" + "gopher" + "telnet" + "nntp" + "ldap" + "rsync" + "imap" + "pop" + "irc" + "ircs" + "cvs" + "svn" + "svn+ssh" + "git" + "ssh" + "fish" + "sftp" + "thunderlink" + "message" + ]; + schemes_any = [ + "mailto" + "matrix" + "news" + "xmpp" + "sip" + "sips" + "doi" + "urn" + "tel" + "data" + ]; + table_auto_fmt = 1; + table_reduce_last_col = 0; + table_mappings = 1; + tags_header = "Generated Tags"; + tags_header_level = 1; + url_maxsave = 15; + use_calendar = 1; + use_mouse = 0; + user_htmls = ""; + valid_html_tags = "b,i,s,u,sub,sup,kbd,br,hr,div,center,strong,em"; + w32_dir_enc = ""; + }; + }; + }; + + example = { + plugins.vimwiki = { + enable = true; + + settings = { + global_ext = 0; + use_calendar = 1; + hl_headers = 1; + hl_cb_checked = 1; + autowriteall = 0; + listsym_rejected = "✗"; + listsyms = "○◐●✓"; + list = [ + { + diary_header = "Diary"; + diary_link_fmt = "%Y-%m/%d"; + auto_toc = 1; + path = "~/docs/wiki/"; + syntax = "markdown"; + ext = ".md"; + } + { + path = "~/docs/notes/"; + syntax = "markdown"; + ext = ".md"; + } + ]; + key_mappings = { + all_maps = 1; + global = 1; + headers = 1; + text_objs = 1; + table_format = 1; + table_mappings = 1; + lists = 1; + links = 1; + html = 1; + mouse = 0; + }; + }; + }; + }; +}