Reference · Docs for v0.4
File types
The languages Rip highlights, how it recognizes a file, and what each language gets.
Rip highlights code with tree-sitter grammars that ship inside the app. There is nothing to install and no language server. This page lists what Rip recognizes.
How Rip picks a language#
Rip looks at the file name first and then at the extension. A README with no extension is Markdown, and Cargo.lock is TOML. Dockerfile, Makefile, and justfile use the shell grammar. The extension check ignores case, so MAIN.RS is Rust. Any other file opens as plain text.
The status bar names the language of the current file.
What a language gets#
- Highlighting from its grammar, in the editor, in diffs, and in Markdown code fences.
- Comment toggling with /Ctrl+/, with the comment syntax in the table below.
- Indentation that follows the language's brackets.
A code fence names its language with one of the fence names in the table, as in ```rust.
Languages#
The table comes from the source, so it matches this release.
| Language | Extensions | File names | Fence names | Comment |
|---|---|---|---|---|
| Rust | .rs |
rust rs |
// |
|
| Go | .go |
go.mod go.sum |
go golang |
// |
| Ruby | .rb .rake .gemspec .ru .erb |
Gemfile |
ruby rb |
# |
| Vibescript | .vibe |
vibescript vibe |
# |
|
| Python | .py .pyi .pyw |
python py python3 |
# |
|
| JavaScript | .js .jsx .mjs .cjs |
javascript js jsx mjs node |
// |
|
| TypeScript | .ts .mts .cts |
typescript ts |
// |
|
| TSX | .tsx |
tsx |
// |
|
| Markdown | .md .markdown .mdx .mdown .mkd |
README CHANGELOG CONTRIBUTING |
markdown md |
<!-- --> |
| JSON | .json .jsonc .json5 .webmanifest |
.babelrc .eslintrc .prettierrc |
json jsonc json5 |
// |
| TOML | .toml |
Cargo.lock |
toml |
# |
| YAML | .yml .yaml |
yaml yml |
# |
|
| Shell | .sh .bash .zsh .fish .bashrc .zshrc .env |
.bashrc Dockerfile Makefile Justfile justfile |
bash sh shell zsh console shell-session |
# |
| HTML | .html .htm .xhtml .vue .svelte |
html xhtml vue svelte |
<!-- --> |
|
| CSS | .css .scss .less |
css scss less |
/* */ |
|
| C | .c .h |
c |
// |
|
| C++ | .cpp .cc .cxx .hpp .hh .hxx .ino .mm |
cpp c++ cxx objc++ |
// |
|
| Swift | .swift |
Package.swift |
swift |
// |
| Java | .java |
java |
// |
|
| Diff | .diff .patch |
diff patch |
||
| Plain Text | .txt .text .log |
text txt plain |