zhaouv / vscode-markdown-everywhere

Embed and highlight and preview markdown in any language which support line-comment or block-comment for vscode.
https://marketplace.visualstudio.com/items?itemName=zhaouv.vscode-markdown-everywhere
Apache License 2.0
9 stars 3 forks source link

Ignore single space after comment symbol. #22

Closed RokeJulianLockhart closed 1 week ago

RokeJulianLockhart commented 1 week ago

It's standard to include a single space after the comment delimiter, but https://github.com/zhaouv/vscode-markdown-everywhere/blob/672ff46b217ebb07edeaf4270cd6116356498737/build/rules.js:

```JSON "markdown-everywhere.customized-rules": [ { "name": "number-sign", "whileRegExp": "#", "example": "", "languages": [ { "name": "coffeescript", "source": "source.coffee" }, { "name": "dockerfile", "source": "source.dockerfile" }, { "name": "git-commit", "source": "text.git-commit" }, { "name": "git-rebase", "source": "text.git-rebase" }, { "name": "diff", "source": "source.diff" }, { "name": "ignore", "source": "source.ignore" }, { "name": "properties", "source": "source.ini" }, { "name": "makefile", "source": "source.makefile" }, { "name": "perl", "source": "source.perl" }, { "name": "perl6", "source": "source.perl.6" }, { "name": "powershell", "source": "source.powershell" }, { "name": "python", "source": "source.python" }, { "name": "r", "source": "source.r" }, { "name": "ruby", "source": "source.ruby" }, { "name": "shellscript", "source": "source.shell" }, { "name": "yaml", "source": "source.yaml" }, { "name": "cython", "source": "source.cython" }, { "name": "julia", "source": "source.julia" }, { "name": "cmake", "source": "source.cmake" } ] }, { "name": "slash-star", "beginRegExp": "/\\*", "endRegExp": "\\*/", "example": "", "languages": [ { "name": "c", "source": "source.c" }, { "name": "cpp", "source": "source.cpp" }, { "name": "csharp", "source": "source.cs" }, { "name": "css", "source": "source.css" }, { "name": "go", "source": "source.go" }, { "name": "groovy", "source": "source.groovy" }, { "name": "hlsl", "source": "source.hlsl" }, { "name": "java", "source": "source.java" }, { "name": "javascriptreact", "source": "source.js.jsx" }, { "name": "javascript", "source": "source.js" }, { "name": "json", "source": "source.json" }, { "name": "jsonc", "source": "source.json.comments" }, { "name": "less", "source": "source.css.less" }, { "name": "objective-c", "source": "source.objc" }, { "name": "objective-cpp", "source": "source.objcpp" }, { "name": "php", "source": "text.html.php" }, { "name": "rust", "source": "source.rust" }, { "name": "scss", "source": "source.css.scss" }, { "name": "shaderlab", "source": "source.shaderlab" }, { "name": "sql", "source": "source.sql" }, { "name": "swift", "source": "source.swift" }, { "name": "typescript", "source": "source.ts" }, { "name": "typescriptreact", "source": "source.tsx" }, { "name": "antlr", "source": "source.antlr" } ] }, { "name": "double-slash", "whileRegExp": "//", "example": "", "languages": [ { "name": "c", "source": "source.c" }, { "name": "cpp", "source": "source.cpp" }, { "name": "csharp", "source": "source.cs" }, { "name": "fsharp", "source": "source.fsharp" }, { "name": "go", "source": "source.go" }, { "name": "groovy", "source": "source.groovy" }, { "name": "hlsl", "source": "source.hlsl" }, { "name": "java", "source": "source.java" }, { "name": "javascriptreact", "source": "source.js.jsx" }, { "name": "javascript", "source": "source.js" }, { "name": "json", "source": "source.json" }, { "name": "jsonc", "source": "source.json.comments" }, { "name": "less", "source": "source.css.less" }, { "name": "objective-c", "source": "source.objc" }, { "name": "objective-cpp", "source": "source.objcpp" }, { "name": "php", "source": "text.html.php" }, { "name": "rust", "source": "source.rust" }, { "name": "scss", "source": "source.css.scss" }, { "name": "shaderlab", "source": "source.shaderlab" }, { "name": "swift", "source": "source.swift" }, { "name": "typescript", "source": "source.ts" }, { "name": "typescriptreact", "source": "source.tsx" }, { "name": "antlr", "source": "source.antlr" }, { "name": "qasm-lang", "source": "source.qasm" } ] }, { "name": "percentage", "whileRegExp": "%", "example": "", "languages": [ { "name": "matlab", "source": "source.matlab" }, { "name": "bibtex", "source": "text.bibtex" }, { "name": "tex", "source": "text.tex" }, { "name": "latex", "source": "text.latex" } ] }, { "name": "triple-quote", "beginRegExp": "\"\"\"", "endRegExp": " ?\"\"\"", "example": "", "languages": [ { "name": "julia", "source": "source.julia" }, { "name": "python", "source": "source.python" } ] }, { "name": "whitespace-triple-quote", "beginRegExp": "\\s+\"\"\" ?", "whileRegExp": "\\s*(?!\\s|\"\"\")", "whileSymbol": " ", "endRegExp": "\\s*\"\"\" ?", "example": "", "languages": [ { "name": "julia", "source": "source.julia" }, { "name": "python", "source": "source.python" } ] } ] ```

doesn't appear to take that into account.

zhaouv commented 1 week ago

do not use defaultRules and use whatever you want yourself

RokeJulianLockhart commented 1 week ago

https://github.com/zhaouv/vscode-markdown-everywhere/issues/22#issuecomment-2199505036

@zhaouv, where is it defined in there, though? I can't remove the part defining the MD, because it's not in $HOME/.config/Code - Insiders/User/settings.json, unlike https://github.com/zhaouv/vscode-markdown-everywhere/blob/672ff46b217ebb07edeaf4270cd6116356498737/build/rules.js#L4-L6...

zhaouv commented 1 week ago

Please carefully review the README.md

RokeJulianLockhart commented 1 week ago

https://github.com/zhaouv/vscode-markdown-everywhere/issues/22#issuecomment-2199916515

@zhaouv, I think per https://github.com/zhaouv/vscode-markdown-everywhere/pull/23#issue-2384443583, I can confidently say that I've had a thorough look. However, I don't think I'm any the wiser - it wasn't necessarily easily to understand. Can you give me any pointers regarding https://github.com/zhaouv/vscode-markdown-everywhere/issues/22#issuecomment-2199794721?

zhaouv commented 1 week ago

Save the first element defaultRules to keep default rules. Remove to only use customized rules.

"markdown-everywhere.customized-rules": [
    "defaultRules",
    {
        "name": "number-sign-equals",
        "beginRegExp": "#=\\s*\\[markdown\\]",
        "endRegExp": "=#",
        "example": "#= [markdown]<br># title<br>content<br>=#",
        "languages": [
            { "name": "julia", "source": "source.julia" }
        ]
    }
]

you can remove the defaultRules which cancel the MD rules, and put your own rules