turbo-editors/turbo-golopublic Fork 0
main
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-golo.git
git clone ssh://git@rickub.com/turbo-editors/turbo-golo.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

project-tree.md · 102 lines · 3.7 KBmarkdown Blame HistoryRaw
📦 Turbo Golo d710c1b k33g 11h ago1# Reference: project tree
2
3> Neutral description of the project tree window: what it shows, what it hides, and the keys it answers to.
4
5## Opening
6
7| Route | Condition |
8| --- | --- |
9| `F9` | Always |
10| **Window ▸ Project tree** | Always |
11
12Neither requires a file to be open. Both bring the existing tree forward when one is already open: there is at most one tree window.
13
14## Root
15
16| Property | Value |
17| --- | --- |
18| Rooted at | The directory the editor was started in (`os.Getwd()`) |
19| Search | That directory only. Parent directories are **not** searched, the same rule `.turbo-golo/settings.toml` follows. |
20| Window title | The base name of that directory |
21| Root row | Not shown; the first row is the first entry inside the project |
22
23## What is listed
24
25| Rule | Detail |
26| --- | --- |
27| Order | Directories first, then files; each group sorted by name |
28| Hidden | `.git` only |
29| Shown | Every other entry, dot-entries included — `.turbo-golo`, `.gitignore`, `.qlty` |
30| Reading | A directory is read the first time it is expanded, and not before |
31| Unreadable directory | Shows as expanded and empty; the rest of the tree is unaffected |
32
33## Markers
34
35| Marker | Meaning |
36| --- | --- |
37| `▶ ` | A directory that is closed |
38| `▼ ` | A directory that is open |
39| (two spaces) | A file — indented by a marker's width so names line up |
40
41Each level of depth adds two more spaces of indentation.
42
43## Keys
44
45Handled when the tree window has the focus.
46
47| Key | Action |
48| --- | --- |
49| `↑` `↓` | Previous / next row |
50| `PgUp` `PgDn` | A screenful at a time |
51| `Home` `End` | First / last row |
52| `→` | Expand a closed directory; otherwise move to the next row |
53| `←` | Collapse an open directory; otherwise move to the directory this row is in |
54| `Enter` | Open a file; expand or collapse a directory |
55| `F5`, `Ctrl-R` | Re-read the project |
56
57The editor's own shortcuts apply as usual: `F6` moves to the next window, `Ctrl-W` closes the tree, `Alt-X` leaves.
58
59## Mouse
60
61| Action | Effect |
62| --- | --- |
63| Click a row | Move the highlight to it |
64| Click the highlighted row | Act on it, as `Enter` does |
65| Wheel up / down | Move the highlight three rows |
66
67## Refreshing
68
69| Trigger | Effect |
70| --- | --- |
71| `F5` or `Ctrl-R` | Re-reads every directory that has been opened |
72| Saving a file | The same, automatically |
73| Expanding a directory | Reads that directory, if it has not been read |
74
75Refreshing keeps the shape of the tree: a directory that was open stays open, one that has been deleted takes its branch with it, and directories nobody has opened stay unread. The highlight stays on the same entry, or on the nearest remaining row when that entry has gone.
76
77The tree does **not** watch the filesystem. A file created by a terminal window — `golo new main`, `gogolo build` — or by `git checkout`, appears only after a refresh.
78
79## Colours
80
81| Theme key | What it colours |
82| --- | --- |
83| `tree.text` | A file's name, and the tree's background |
84| `tree.directory` | A directory's name |
85| `tree.selected` | The highlighted row, when the tree has the focus |
86| `tree.unfocused` | The highlighted row, when it does not |
87
88These do not fall back to the `list.*` keys: dotted fallback runs along the dots and stops at `default`. See [Theme file format](themes.md).
89
90## Errors
91
92| Message | Cause |
93| --- | --- |
94| `Cannot tell which directory this is: …` | The working directory could not be read |
95| `reading …: …` | The project directory could not be read |
96| `… is not a directory` | The root resolved to a file |
97
98## See also
99
100- [How to browse a project and open files from a tree](../how-to/browse-a-project.md)
101- [Project tree](../explanation/project-tree.md)
102- [Keyboard](keyboard.md)