Comments (4)
When attempting to parse a configuration file, all three parsers are tried and the result of the first successful is used. In this case, all three are failing as shown in the error message above. The TOML parser is second in the array (index 1), so the following output is relevant:
Parser 1: Expected "=", [ \t] or [A-Za-z0-9_-] but "." found.
No line/column information is provided, but I think it is referring to the following key name as being invalid because it includes a dot: MD007.indent
.
from markdownlint-cli.
Hi @DavidAnson thanks for your answer. I tried a bit around with the setup and made some observations:
- I can confirm, that it's complaining about
MD007.indent = 4
line - the toml parser still somehow works. I can confirm that the remaining config is still used. Seems like it just skips over the not understandable lines
That said, the file example stated above seems to me like a valid toml format: https://toml.io/en/v1.0.0#table
While rewriting the config in the minimal example above would be no problem, the pyproject.toml for most users might be much bigger and there are use cases where avoiding this syntax is more annoying.
My other hooks (mypy, ruff) also reads the pyproject.toml and don't have problems with this kind of syntax.
So it seems to me there is either a bug in the used toml parser or the parser doesn't accept the whole toml spec.
from markdownlint-cli.
This is the TOML parser that is used now: https://www.npmjs.com/package/toml
It says it supports version 0.4.0 of the specification which I confirm prohibits dots in key names: https://toml.io/en/v0.4.0#table
If you know of another well-used, dependency-free TOML parser for Node that supports a more recent version, I can have a look at switching to that.
from markdownlint-cli.
Hi @DavidAnson, I'm not a node/js developer so I also have no experience in that regard.
Searching through npm this one seems the most promising:
https://www.npmjs.com/package/smol-toml
- supports toml 1.0.0
- has recently released versions
- no dependencies
- seems to be used ( although not as many downloads as your current parser)
Edit: Seems like you came to the same conclusion a bit earlier 😄
from markdownlint-cli.
Related Issues (20)
- Error: Cannot find module 'node:fs' HOT 4
- Install failure for `v0.34.0` HOT 5
- Missing dependencies HOT 1
- Ignore "node_modules" by default HOT 4
- Request: Exit with code other than 0 if command-line args are malformed HOT 1
- markdownlint-cli does not respect default node installation in system HOT 2
- Requesting new version HOT 2
- Allow failure in combination with --fix HOT 3
- Custom rules HOT 2
- [DEP0040] DeprecationWarning - punycode module is deprecated HOT 9
- Unable to pull container image HOT 2
- Pre-commit run against staged files only HOT 1
- How to disable rules in pre-commit setup HOT 2
- Bug: '-r' parameter does not work with scoped package HOT 1
- Disable rule with parameters HOT 5
- Implement additional command line argument to search for config not only in root
- Ignoring of node_modules doesn't work on certain packages HOT 14
- check all markdown files recursively in pre-commit workflow HOT 2
- Unable to set line-length via toml HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from markdownlint-cli.