add rumdl as markdown linter/formatter

This commit is contained in:
Alexander Navarro 2026-01-30 15:25:15 -03:00
parent b3df5795f2
commit 63a18416df
6 changed files with 212 additions and 29 deletions

View file

@ -65,6 +65,7 @@
"configs/lazygit" = "~/.config/lazygit"
"configs/mise" = "~/.config/mise"
"configs/nvim" = "~/.config/nvim"
"configs/rumdl" = "~/.config/rumdl"
"configs/zed" = "~/.config/zed"
[nvim-min.files]

View file

@ -3,7 +3,7 @@
"blink.compat": { "branch": "main", "commit": "08943fdf2eb00432d6205db6d0239434135416bd" },
"catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
"comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" },
"conform.nvim": { "branch": "master", "commit": "a203480a350b03092e473bf3001733d547160a73" },
"conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" },
"flatten.nvim": { "branch": "main", "commit": "72527798e75b5e34757491947c2cb853ce21dc0e" },
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
"fzf-lua": { "branch": "main", "commit": "758173f499d15410ecb50c5519a41b27c33e645d" },
@ -11,7 +11,7 @@
"hardtime.nvim": { "branch": "main", "commit": "3541ad24faff78274669eceaf130502eb7f1261a" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "b1d9a914b02ba5660f1e272a03314b31d4576fe2" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "c953789db7fd28eafe5eb5659846d34b5024b3cc" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"mini.nvim": { "branch": "main", "commit": "94cae4660a8b2d95dbbd56e1fbc6fcfa2716d152" },
"neogen": { "branch": "main", "commit": "dc50715c009f89b8111197fd2f282f6042daa7ea" },
@ -19,7 +19,7 @@
"nvim-dap": { "branch": "master", "commit": "5dd4d50f2e6a2eaf9e57fad023d294ef371bda35" },
"nvim-dap-view": { "branch": "main", "commit": "390dae6bf67f3342ebb481159932ef0fe54822ba" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
"nvim-lint": { "branch": "master", "commit": "6b46370d02cd001509a765591a3ffc481b538794" },
"nvim-lint": { "branch": "master", "commit": "b3292aac30b935d4cccf0904053d1c7930df8a20" },
"nvim-lspconfig": { "branch": "master", "commit": "c8503e63c6afab3ed34b49865a4a4edbb1ebf4a8" },
"nvim-treesitter": { "branch": "main", "commit": "802195d8f1980db25a7a39a55f9a25df21756c73" },
"nvim-treesitter-context": { "branch": "master", "commit": "66a9b5fa9e806918b5fe3dba00c6cce7e230abd2" },

View file

@ -161,6 +161,11 @@ vim.lsp.config("rust-analyzer", {
},
},
})
vim.lsp.config("rumdl", {
cmd = { "rumdl", "server" },
filetypes = { "markdown" },
root_markers = { ".git" },
})
vim.g.markdown_fenced_languages = {
"ts=typescript",

View file

@ -23,7 +23,7 @@ return {
json = { "biome" },
jsonc = { "biome" },
lua = { "stylua" },
markdown = { "markdownlint" },
markdown = { "rumdl" },
php = { "pint" },
python = { "ruff_format", "ruff_organize_imports" },
rust = { "rustfmt" },

View file

@ -14,7 +14,7 @@ return {
sh = { "shellcheck" },
NeogitCommitMessage = { "gitlint" },
gitcommit = { "gitlint" },
markdown = { "markdownlint" },
-- markdown = { "rumdl" }, runned as LSP
javascript = { "biomejs" },
typescript = { "biomejs" },
javascriptreact = { "biomejs" },

177
configs/rumdl/rumdl.toml Normal file
View file

@ -0,0 +1,177 @@
[global]
disable = [ ]
enable = [ ]
exclude = [ ]
flavor = "gfm"
include = [ ]
respect_gitignore = true
[MD001]
front-matter-title = true
[MD003]
# Heading style should be consistent
style = "atx"
[MD004]
style = "dash"
[MD007]
start-indented = false
style = "text-aligned"
[MD009]
br-spaces = 2
list-item-empty-lines = false
strict = false
[MD010]
spaces-per-tab = 4
[MD012]
maximum = 1
[MD013]
abbreviations = [ ]
code-blocks = true
headings = true
length-mode = "visual"
line-length = 80
paragraphs = false
reflow = true
reflow-mode = "sentence-per-line"
strict = false
tables = false
[MD014]
show-output = true
[MD022]
allowed-at-start = true
lines-above = 1
lines-below = 1
[MD024]
allow-different-nesting = false
siblings-only = true
[MD025]
allow-document-sections = false
allow-with-separators = false
front-matter-title = "title"
level = 1
[MD026]
punctuation = ".,;:!"
[MD029]
style = "one-or-ordered"
[MD030]
ol-multi = 1
ol-single = 1
ul-multi = 1
ul-single = 1
[MD031]
list-items = true
[MD032]
allow-lazy-continuation = true
[MD033]
allowed-elements = [ ]
disallowed-elements = [ ]
[MD035]
style = "consistent"
[MD036]
punctuation = ".,;:!?"
[MD041]
front-matter-title = "title"
front-matter-title-pattern = ""
level = 1
[MD043]
headings = [ ]
match-case = false
[MD044]
code-blocks = false
html-comments = false
html-elements = true
names = [ ]
[MD045]
placeholder-text = "TODO: Add image description"
[MD046]
style = "fenced"
[MD048]
style = "consistent"
[MD049]
# Italic Text
style = "underscore"
[MD050]
# Bold Text
style = "asterisk"
[MD051]
anchor-style = "github"
[MD053]
ignored-definitions = [ ]
[MD054]
autolink = true
collapsed = true
full = true
inline = true
shortcut = true
url-inline = true
[MD055]
style = "consistent"
[MD058]
minimum-after = 1
minimum-before = 1
[MD059]
prohibited-texts = [ "click here", "here", "link", "more" ]
[MD060]
column-align = "auto"
enabled = true
max-width = 0
style = "aligned"
[MD061]
case-sensitive = true
terms = [ ]
[MD063]
enabled = true
ignore-words = [ ]
lowercase-words = [ "a", "an", "and", "as", "at", "but", "by", "for", "from", "in", "into", "nor", "of", "off", "on", "or", "per", "so", "the", "to", "up", "via", "with", "yet" ]
max-level = 6
min-level = 1
preserve-cased-words = true
style = "title_case"
[MD064]
allow-sentence-double-space = false
[MD072]
enabled = true
[md073]
enabled = true
enforce-order = true
max-level = 4
min-level = 2