It seems like our grammar associations don't work from the root key. Either make it work or update the docs to make it clear to users how to configure things properly.
Running `diffsitter` `0.8.1` on macOS via homebrew:
⇒ diffsitter --version
diffsitter 0.8.1
It lists support for typescript / tsx:
⇒ diffsitter list
This program was compiled with support for:
- bash
- c_sharp
- cpp
- css
- go
- hcl
- java
- json
- ocaml
- php
- python
- ruby
- rust
- tsx
- typescript
Yet by default, it will fail to run against a JavaScript file:
⇒ git difftool --tool diffsitter HEAD~1 HEAD -- unpacked/_next/static/\[buildHash\]/_buildManifest.js
Error: Unsupported file type with no fallback command specified.
Until a file-association override is added to the config (${XDG_HOME:-$HOME}/.config/diffsitter/config.json5):
// ..snip..
"grammar": {
"dylib-overrides": null,
"file-associations": {
"js": "typescript",
"jsx": "tsx"
},
},
// ..snip..
This would seem like a useful thing to be included in the default config that diffsitter uses:
⇒ diffsitter dump-default-config
{
"file-associations": null,
"formatting": {
"default": "unified",
"unified": {
"addition": {
"highlight": null,
"regular-foreground": "green",
"emphasized-foreground": "green",
"bold": true,
"underline": false,
"prefix": "+ "
},
"deletion": {
"highlight": null,
"regular-foreground": "red",
"emphasized-foreground": "red",
"bold": true,
"underline": false,
"prefix": "- "
}
},
"json": {
"pretty_print": false
},
"custom": {}
},
"grammar": {
"dylib-overrides": null,
"file-associations": null
},
"input-processing": {
"split-graphemes": true,
"exclude-kinds": null,
"include-kinds": null
},
"fallback-cmd": null
}
I also noted that modifying that default config to add the file-associations to the root key didn't seem to work; it only seemed to work when I added them to the grammar version of file-associations.
Originally posted by @0xdevalias in #152 (comment)
It seems like our grammar associations don't work from the root key. Either make it work or update the docs to make it clear to users how to configure things properly.
It lists support for
typescript/tsx:Yet by default, it will fail to run against a JavaScript file:
Until a file-association override is added to the config (
${XDG_HOME:-$HOME}/.config/diffsitter/config.json5):This would seem like a useful thing to be included in the default config that diffsitter uses:
⇒ diffsitter dump-default-config { "file-associations": null, "formatting": { "default": "unified", "unified": { "addition": { "highlight": null, "regular-foreground": "green", "emphasized-foreground": "green", "bold": true, "underline": false, "prefix": "+ " }, "deletion": { "highlight": null, "regular-foreground": "red", "emphasized-foreground": "red", "bold": true, "underline": false, "prefix": "- " } }, "json": { "pretty_print": false }, "custom": {} }, "grammar": { "dylib-overrides": null, "file-associations": null }, "input-processing": { "split-graphemes": true, "exclude-kinds": null, "include-kinds": null }, "fallback-cmd": null }I also noted that modifying that default config to add the
file-associationsto the root key didn't seem to work; it only seemed to work when I added them to thegrammarversion offile-associations.Originally posted by @0xdevalias in #152 (comment)