Skip to content

Commit b182be7

Browse files
committed
living canvas with tree sitter for Py, JS, TS, Go
lem-project/lem#2058
1 parent 3dce94d commit b182be7

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

content/en/usage/living-canvas.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,24 @@ weight: 25
55

66
Living Canvas is a visual code analysis feature that displays function call graphs as an interactive, Figma-like canvas. It helps developers understand code structure, relationships, and execution flow.
77

8-
Supported languages:
8+
![](/living-canvas-demo.gif "Living Canvas - interactive function call graph visualization")
99

10-
- Common Lisp
11-
- the Living Canvas is integrated with micros RPC system (Lem's fork of Slime) to enable call graph visualization from connected runtimes.
10+
## Supported languages
1211

13-
![](/living-canvas-demo.gif "Living Canvas - interactive function call graph visualization")
12+
13+
| Language | File Extensions | Provider |
14+
|----------|----------------|----------|
15+
| Common Lisp | .lisp, .cl, .asd | micros (built-in) |
16+
| Python | .py, .pyw | tree-sitter |
17+
| JavaScript | .js, .mjs, .cjs, .jsx | tree-sitter |
18+
| TypeScript | .ts, .tsx, .mts, .cts | tree-sitter |
19+
| Go | .go | tree-sitter |
20+
21+
In Common Lisp, the Living Canvas is integrated with micros RPC system (Lem's fork of Slime) to enable call graph visualization from connected runtimes.
1422

1523
## Overview
1624

17-
Living Canvas transforms Common Lisp source code into a navigable graph where:
25+
Living Canvas transforms source code into a navigable graph where:
1826
- **Nodes** represent functions, macros, and generic functions
1927
- **Edges** represent function calls between them
2028
- **Colors** distinguish different types (function, macro, generic-function)
@@ -124,4 +132,5 @@ Living Canvas uses the `lem-living-canvas` package. You can customize keybinding
124132

125133
## Future work
126134

127-
- use the Language Server Protocol to make it usable with other languages.
135+
- [X] use the Language Server Protocol to make it usable with other languages
136+
- Project-wide analysis for tree-sitter languages (currently single-file only)

0 commit comments

Comments
 (0)