textual-code 0.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- textual_code-0.0.2/.devcontainer.json +19 -0
- textual_code-0.0.2/.dockerignore +2 -0
- textual_code-0.0.2/.github/workflows/release.yml +21 -0
- textual_code-0.0.2/.gitignore +2 -0
- textual_code-0.0.2/.pre-commit-config.yaml +13 -0
- textual_code-0.0.2/.python-version +1 -0
- textual_code-0.0.2/.vscode/settings.json +25 -0
- textual_code-0.0.2/CHANGELOG.md +17 -0
- textual_code-0.0.2/Dockerfile +20 -0
- textual_code-0.0.2/Dockerfile.dev +21 -0
- textual_code-0.0.2/PKG-INFO +175 -0
- textual_code-0.0.2/README.md +154 -0
- textual_code-0.0.2/docker-compose.dev.yml +9 -0
- textual_code-0.0.2/docker-compose.yml +4 -0
- textual_code-0.0.2/docs/preview.svg +285 -0
- textual_code-0.0.2/pyproject.toml +60 -0
- textual_code-0.0.2/src/textual_code/__init__.py +10 -0
- textual_code-0.0.2/src/textual_code/app.py +719 -0
- textual_code-0.0.2/src/textual_code/modals.py +123 -0
- textual_code-0.0.2/src/textual_code/style.tcss +160 -0
- textual_code-0.0.2/src/textual_code/utils.py +21 -0
- textual_code-0.0.2/uv.lock +938 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "textual-code",
|
|
3
|
+
"dockerComposeFile": "docker-compose.dev.yml",
|
|
4
|
+
"service": "app",
|
|
5
|
+
"workspaceFolder": "/app",
|
|
6
|
+
"remoteUser": "appuser",
|
|
7
|
+
"customizations": {
|
|
8
|
+
"vscode": {
|
|
9
|
+
"extensions": [
|
|
10
|
+
"charliermarsh.ruff",
|
|
11
|
+
"esbenp.prettier-vscode",
|
|
12
|
+
"GitHub.copilot",
|
|
13
|
+
"mhutchie.git-graph",
|
|
14
|
+
"ms-python.python",
|
|
15
|
+
"Textualize.textual-syntax-highlighter"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
# Publish on any tag starting with a `v`, e.g. v1.2.3
|
|
7
|
+
- v*
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
pypi:
|
|
11
|
+
name: Publish to PyPI
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
environment:
|
|
14
|
+
name: release
|
|
15
|
+
permissions:
|
|
16
|
+
id-token: write
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
- uses: astral-sh/setup-uv@v3
|
|
20
|
+
- run: uv build
|
|
21
|
+
- run: uv publish --trusted-publishing always
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: local
|
|
3
|
+
hooks:
|
|
4
|
+
- id: ruff-check
|
|
5
|
+
name: ruff check
|
|
6
|
+
entry: ruff check --force-exclude --fix
|
|
7
|
+
language: python
|
|
8
|
+
types_or: [python, pyi, jupyter]
|
|
9
|
+
- id: ruff-format
|
|
10
|
+
name: ruff format
|
|
11
|
+
entry: ruff format --force-exclude
|
|
12
|
+
language: python
|
|
13
|
+
types_or: [python, pyi, jupyter]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"editor.formatOnSave": true,
|
|
3
|
+
"terminal.integrated.sendKeybindingsToShell": true,
|
|
4
|
+
"[python]": {
|
|
5
|
+
"editor.formatOnSave": true,
|
|
6
|
+
"editor.codeActionsOnSave": {
|
|
7
|
+
"source.fixAll": "explicit",
|
|
8
|
+
"source.organizeImports": "explicit"
|
|
9
|
+
},
|
|
10
|
+
"editor.defaultFormatter": "charliermarsh.ruff"
|
|
11
|
+
},
|
|
12
|
+
"python.testing.pytestArgs": [
|
|
13
|
+
"--rootdir",
|
|
14
|
+
"${workspaceFolder}/src"
|
|
15
|
+
],
|
|
16
|
+
"python.testing.unittestEnabled": false,
|
|
17
|
+
"python.testing.pytestEnabled": true,
|
|
18
|
+
"python.analysis.extraPaths": [
|
|
19
|
+
"${workspaceFolder}/src"
|
|
20
|
+
],
|
|
21
|
+
"python.autoComplete.extraPaths": [
|
|
22
|
+
"${workspaceFolder}/src"
|
|
23
|
+
],
|
|
24
|
+
"python.analysis.typeCheckingMode": "basic"
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.0.2] - 2025-01-07
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add basic text editing features
|
|
15
|
+
|
|
16
|
+
[unreleased]: https://github.com/rishubil/textual-code/compare/v0.0.2...HEAD
|
|
17
|
+
[0.0.2]: https://github.com/olivierlacan/keep-a-changelog/releases/tag/v0.0.2
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS builder
|
|
2
|
+
ENV UV_COMPILE_BYTECODE=1
|
|
3
|
+
ENV UV_LINK_MODE=copy
|
|
4
|
+
WORKDIR /app
|
|
5
|
+
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
6
|
+
--mount=type=bind,source=uv.lock,target=uv.lock \
|
|
7
|
+
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
|
8
|
+
uv sync --frozen --no-install-project --no-dev
|
|
9
|
+
ADD . /app
|
|
10
|
+
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
11
|
+
uv sync --frozen --no-dev
|
|
12
|
+
|
|
13
|
+
FROM python:3.12-slim-bookworm
|
|
14
|
+
WORKDIR /app
|
|
15
|
+
COPY --from=builder --chown=1000:1000 /app /app
|
|
16
|
+
RUN addgroup --system --gid 1000 appuser \
|
|
17
|
+
&& adduser --home /home/appuser --system --uid 1000 --gid 1000 appuser
|
|
18
|
+
USER appuser
|
|
19
|
+
ENV PATH="/app/.venv/bin:$PATH"
|
|
20
|
+
ENTRYPOINT ["textual-code"]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS builder
|
|
2
|
+
ENV UV_COMPILE_BYTECODE=1
|
|
3
|
+
ENV UV_LINK_MODE=copy
|
|
4
|
+
ENV SHELL /bin/bash
|
|
5
|
+
WORKDIR /app
|
|
6
|
+
RUN apt update && apt install -y --no-install-recommends \
|
|
7
|
+
openssh-client \
|
|
8
|
+
git \
|
|
9
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
10
|
+
RUN mkdir -p /app && chown 1000:1000 /app
|
|
11
|
+
RUN addgroup --system --gid 1000 appuser \
|
|
12
|
+
&& adduser --home /home/appuser --system --uid 1000 --gid 1000 appuser
|
|
13
|
+
USER appuser
|
|
14
|
+
RUN --mount=type=cache,target=/home/appuser/.cache/uv,uid=1000,gid=1000 \
|
|
15
|
+
--mount=type=bind,source=uv.lock,target=uv.lock \
|
|
16
|
+
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
|
17
|
+
uv sync --frozen --no-install-project --no-dev
|
|
18
|
+
ADD . /app
|
|
19
|
+
RUN --mount=type=cache,target=/home/appuser/.cache/uv,uid=1000,gid=1000 \
|
|
20
|
+
uv sync --frozen --no-dev
|
|
21
|
+
ENV PATH="/app/.venv/bin:$PATH"
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: textual-code
|
|
3
|
+
Version: 0.0.2
|
|
4
|
+
Summary: Code editor for who don't know how to use vi
|
|
5
|
+
Project-URL: Repository, https://github.com/rishubil/textual-code.git
|
|
6
|
+
Project-URL: Changelog, https://github.com/rishubil/textual-code/blob/master/CHANGELOG.md
|
|
7
|
+
Author-email: Nesswit <rishubil@gmail.com>
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Operating System :: MacOS
|
|
13
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
|
|
14
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows 11
|
|
15
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Topic :: Text Editors
|
|
18
|
+
Requires-Python: >=3.12
|
|
19
|
+
Requires-Dist: textual[syntax]>=1.0.0
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
|
|
22
|
+
# Textual Code
|
|
23
|
+
|
|
24
|
+
Code editor for who don't know how to use vi
|
|
25
|
+
|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
> [!WARNING]
|
|
29
|
+
> This project is in the early stages of development.
|
|
30
|
+
> It is not ready for use yet.
|
|
31
|
+
|
|
32
|
+
## What is Textual Code?
|
|
33
|
+
|
|
34
|
+
Textual Code is a TUI-based code editor that feels familiar right from the start.
|
|
35
|
+
|
|
36
|
+
You’ve probably had to SSH into a server at some point just to tweak a few lines of code.
|
|
37
|
+
However, vi or Emacs can be overkill for quick fixes, requiring you to remember a whole host of commands for even the simplest changes.
|
|
38
|
+
Furthermore, nano doesn’t always provide enough features for comfortable coding, and setting up a GUI editor on a remote server can be a real hassle.
|
|
39
|
+
|
|
40
|
+
That’s why Textual Code was created.
|
|
41
|
+
You likely use a GUI editor like VS Code or Sublime Text in your day-to-day work, and Textual Code offers a similar experience with no learning curve.
|
|
42
|
+
It behaves much like any other code editor you’re used to.
|
|
43
|
+
|
|
44
|
+
We’re not asking you to switch to Textual Code as your main editor.
|
|
45
|
+
Just remember it’s there when you need to jump onto a server and make a few quick edits.
|
|
46
|
+
It’s that simple.
|
|
47
|
+
|
|
48
|
+
## Features
|
|
49
|
+
|
|
50
|
+
> [!WARNING]
|
|
51
|
+
> This project is in the early stages of development.
|
|
52
|
+
> the features listed below are not yet implemented or are only partially implemented.
|
|
53
|
+
|
|
54
|
+
- Commonly used shortcuts, such as `Ctrl+S` to save and `Ctrl+F` to search
|
|
55
|
+
- Command palette for quick access to all features, and no need to remember shortcuts
|
|
56
|
+
- Multiple cursors
|
|
57
|
+
- Mouse support
|
|
58
|
+
- Find and replace from workspace
|
|
59
|
+
- Explore files in the sidebar
|
|
60
|
+
- Open files to tabs
|
|
61
|
+
- Syntax highlighting
|
|
62
|
+
|
|
63
|
+
## TODO
|
|
64
|
+
|
|
65
|
+
- [ ] Explore files
|
|
66
|
+
- [x] Show the files in the sidebar
|
|
67
|
+
- [ ] Open a specific folder from the command palette
|
|
68
|
+
- [ ] Open a specific folder from command arguments
|
|
69
|
+
- [ ] Create
|
|
70
|
+
- [ ] Create a new file from the sidebar
|
|
71
|
+
- [ ] Create a new file from the command palette
|
|
72
|
+
- [ ] Create a new folder from the sidebar
|
|
73
|
+
- [ ] Create a new folder from the command palette
|
|
74
|
+
- [ ] Open file
|
|
75
|
+
- [x] Open a specific file from the sidebar
|
|
76
|
+
- [x] Open files to tabs
|
|
77
|
+
- [x] Open new file from the command palette
|
|
78
|
+
- [x] Open new file from shortcut
|
|
79
|
+
- [ ] Open a specific file from the command palette
|
|
80
|
+
- [ ] Open a specific file from command arguments
|
|
81
|
+
- [ ] Save file
|
|
82
|
+
- [x] Save the current file
|
|
83
|
+
- [x] Save as the current file
|
|
84
|
+
- [x] Save the current file from shortcut
|
|
85
|
+
- [x] Save the current file from the command palette
|
|
86
|
+
- [ ] Save all files
|
|
87
|
+
- [ ] Close file
|
|
88
|
+
- [x] Close the current file
|
|
89
|
+
- [x] Close the current file from shortcut
|
|
90
|
+
- [x] Close the current file from the command palette
|
|
91
|
+
- [x] Ask to save the file before closing
|
|
92
|
+
- [ ] Close all files
|
|
93
|
+
- [ ] Delete
|
|
94
|
+
- [x] Delete the current file
|
|
95
|
+
- [x] Delete the current file from the command palette
|
|
96
|
+
- [ ] Delete a specific file from the sidebar
|
|
97
|
+
- [ ] Delete a specific file from the command palette
|
|
98
|
+
- [ ] Delete a specific folder from the sidebar
|
|
99
|
+
- [ ] Delete a specific folder from the command palette
|
|
100
|
+
- [x] Ask to confirm before deleting
|
|
101
|
+
- [ ] Edit file
|
|
102
|
+
- [x] Basic text editing
|
|
103
|
+
- [ ] Multiple cursors
|
|
104
|
+
- [ ] Code completion
|
|
105
|
+
- [ ] Syntax highlighting
|
|
106
|
+
- [x] Detect the language from the file extension
|
|
107
|
+
- [ ] Change the language
|
|
108
|
+
- [ ] Add more languages
|
|
109
|
+
- [ ] Change Indentation size and style
|
|
110
|
+
- [ ] Change line ending
|
|
111
|
+
- [ ] Change encoding
|
|
112
|
+
- [ ] Show line and column numbers
|
|
113
|
+
- [ ] Goto line and column
|
|
114
|
+
- [ ] Search and replace
|
|
115
|
+
- [ ] Plain Search
|
|
116
|
+
- [ ] Regex search
|
|
117
|
+
- [ ] Replace all
|
|
118
|
+
- [ ] Select all occurrences
|
|
119
|
+
- [ ] In the current file
|
|
120
|
+
- [ ] In all files
|
|
121
|
+
- [ ] Markdown preview
|
|
122
|
+
- [ ] Show the markdown preview
|
|
123
|
+
- [ ] Live preview
|
|
124
|
+
- [ ] Split view
|
|
125
|
+
- [ ] Split the view horizontally
|
|
126
|
+
- [ ] Split the view vertically
|
|
127
|
+
- [ ] Close the split view
|
|
128
|
+
- [ ] Resize the split view
|
|
129
|
+
- [ ] Move the focus to the split view
|
|
130
|
+
- [ ] Move tabs between split views
|
|
131
|
+
- [ ] Sidebar
|
|
132
|
+
- [x] Show the sidebar
|
|
133
|
+
- [ ] Hide the sidebar
|
|
134
|
+
- [ ] Resize the sidebar
|
|
135
|
+
- [ ] Setting
|
|
136
|
+
- [ ] Themes
|
|
137
|
+
- [ ] UI
|
|
138
|
+
- [ ] Syntax highlighting
|
|
139
|
+
- [ ] Shortcuts
|
|
140
|
+
- [ ] Editor
|
|
141
|
+
- [ ] default indentation size and style
|
|
142
|
+
- [ ] default line ending
|
|
143
|
+
- [ ] default encoding
|
|
144
|
+
- [ ] Etc
|
|
145
|
+
- [ ] Support EditorConfig
|
|
146
|
+
- [ ] Release
|
|
147
|
+
- [ ] Package the project
|
|
148
|
+
- [ ] Make the project available on PyPI
|
|
149
|
+
|
|
150
|
+
## Usage
|
|
151
|
+
|
|
152
|
+
Textual Code is not available on PyPI yet.
|
|
153
|
+
|
|
154
|
+
You can run the code using Docker.
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
docker compose build app
|
|
158
|
+
docker compose run --rm app
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Development
|
|
162
|
+
|
|
163
|
+
(You need to use devcontainer to run the code)
|
|
164
|
+
|
|
165
|
+
To open the textual console, run the following command:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
uv run textual console
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Then, you can run the following command to run the code:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
uv run textual run --dev textual_code:main
|
|
175
|
+
```
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# Textual Code
|
|
2
|
+
|
|
3
|
+
Code editor for who don't know how to use vi
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
> [!WARNING]
|
|
8
|
+
> This project is in the early stages of development.
|
|
9
|
+
> It is not ready for use yet.
|
|
10
|
+
|
|
11
|
+
## What is Textual Code?
|
|
12
|
+
|
|
13
|
+
Textual Code is a TUI-based code editor that feels familiar right from the start.
|
|
14
|
+
|
|
15
|
+
You’ve probably had to SSH into a server at some point just to tweak a few lines of code.
|
|
16
|
+
However, vi or Emacs can be overkill for quick fixes, requiring you to remember a whole host of commands for even the simplest changes.
|
|
17
|
+
Furthermore, nano doesn’t always provide enough features for comfortable coding, and setting up a GUI editor on a remote server can be a real hassle.
|
|
18
|
+
|
|
19
|
+
That’s why Textual Code was created.
|
|
20
|
+
You likely use a GUI editor like VS Code or Sublime Text in your day-to-day work, and Textual Code offers a similar experience with no learning curve.
|
|
21
|
+
It behaves much like any other code editor you’re used to.
|
|
22
|
+
|
|
23
|
+
We’re not asking you to switch to Textual Code as your main editor.
|
|
24
|
+
Just remember it’s there when you need to jump onto a server and make a few quick edits.
|
|
25
|
+
It’s that simple.
|
|
26
|
+
|
|
27
|
+
## Features
|
|
28
|
+
|
|
29
|
+
> [!WARNING]
|
|
30
|
+
> This project is in the early stages of development.
|
|
31
|
+
> the features listed below are not yet implemented or are only partially implemented.
|
|
32
|
+
|
|
33
|
+
- Commonly used shortcuts, such as `Ctrl+S` to save and `Ctrl+F` to search
|
|
34
|
+
- Command palette for quick access to all features, and no need to remember shortcuts
|
|
35
|
+
- Multiple cursors
|
|
36
|
+
- Mouse support
|
|
37
|
+
- Find and replace from workspace
|
|
38
|
+
- Explore files in the sidebar
|
|
39
|
+
- Open files to tabs
|
|
40
|
+
- Syntax highlighting
|
|
41
|
+
|
|
42
|
+
## TODO
|
|
43
|
+
|
|
44
|
+
- [ ] Explore files
|
|
45
|
+
- [x] Show the files in the sidebar
|
|
46
|
+
- [ ] Open a specific folder from the command palette
|
|
47
|
+
- [ ] Open a specific folder from command arguments
|
|
48
|
+
- [ ] Create
|
|
49
|
+
- [ ] Create a new file from the sidebar
|
|
50
|
+
- [ ] Create a new file from the command palette
|
|
51
|
+
- [ ] Create a new folder from the sidebar
|
|
52
|
+
- [ ] Create a new folder from the command palette
|
|
53
|
+
- [ ] Open file
|
|
54
|
+
- [x] Open a specific file from the sidebar
|
|
55
|
+
- [x] Open files to tabs
|
|
56
|
+
- [x] Open new file from the command palette
|
|
57
|
+
- [x] Open new file from shortcut
|
|
58
|
+
- [ ] Open a specific file from the command palette
|
|
59
|
+
- [ ] Open a specific file from command arguments
|
|
60
|
+
- [ ] Save file
|
|
61
|
+
- [x] Save the current file
|
|
62
|
+
- [x] Save as the current file
|
|
63
|
+
- [x] Save the current file from shortcut
|
|
64
|
+
- [x] Save the current file from the command palette
|
|
65
|
+
- [ ] Save all files
|
|
66
|
+
- [ ] Close file
|
|
67
|
+
- [x] Close the current file
|
|
68
|
+
- [x] Close the current file from shortcut
|
|
69
|
+
- [x] Close the current file from the command palette
|
|
70
|
+
- [x] Ask to save the file before closing
|
|
71
|
+
- [ ] Close all files
|
|
72
|
+
- [ ] Delete
|
|
73
|
+
- [x] Delete the current file
|
|
74
|
+
- [x] Delete the current file from the command palette
|
|
75
|
+
- [ ] Delete a specific file from the sidebar
|
|
76
|
+
- [ ] Delete a specific file from the command palette
|
|
77
|
+
- [ ] Delete a specific folder from the sidebar
|
|
78
|
+
- [ ] Delete a specific folder from the command palette
|
|
79
|
+
- [x] Ask to confirm before deleting
|
|
80
|
+
- [ ] Edit file
|
|
81
|
+
- [x] Basic text editing
|
|
82
|
+
- [ ] Multiple cursors
|
|
83
|
+
- [ ] Code completion
|
|
84
|
+
- [ ] Syntax highlighting
|
|
85
|
+
- [x] Detect the language from the file extension
|
|
86
|
+
- [ ] Change the language
|
|
87
|
+
- [ ] Add more languages
|
|
88
|
+
- [ ] Change Indentation size and style
|
|
89
|
+
- [ ] Change line ending
|
|
90
|
+
- [ ] Change encoding
|
|
91
|
+
- [ ] Show line and column numbers
|
|
92
|
+
- [ ] Goto line and column
|
|
93
|
+
- [ ] Search and replace
|
|
94
|
+
- [ ] Plain Search
|
|
95
|
+
- [ ] Regex search
|
|
96
|
+
- [ ] Replace all
|
|
97
|
+
- [ ] Select all occurrences
|
|
98
|
+
- [ ] In the current file
|
|
99
|
+
- [ ] In all files
|
|
100
|
+
- [ ] Markdown preview
|
|
101
|
+
- [ ] Show the markdown preview
|
|
102
|
+
- [ ] Live preview
|
|
103
|
+
- [ ] Split view
|
|
104
|
+
- [ ] Split the view horizontally
|
|
105
|
+
- [ ] Split the view vertically
|
|
106
|
+
- [ ] Close the split view
|
|
107
|
+
- [ ] Resize the split view
|
|
108
|
+
- [ ] Move the focus to the split view
|
|
109
|
+
- [ ] Move tabs between split views
|
|
110
|
+
- [ ] Sidebar
|
|
111
|
+
- [x] Show the sidebar
|
|
112
|
+
- [ ] Hide the sidebar
|
|
113
|
+
- [ ] Resize the sidebar
|
|
114
|
+
- [ ] Setting
|
|
115
|
+
- [ ] Themes
|
|
116
|
+
- [ ] UI
|
|
117
|
+
- [ ] Syntax highlighting
|
|
118
|
+
- [ ] Shortcuts
|
|
119
|
+
- [ ] Editor
|
|
120
|
+
- [ ] default indentation size and style
|
|
121
|
+
- [ ] default line ending
|
|
122
|
+
- [ ] default encoding
|
|
123
|
+
- [ ] Etc
|
|
124
|
+
- [ ] Support EditorConfig
|
|
125
|
+
- [ ] Release
|
|
126
|
+
- [ ] Package the project
|
|
127
|
+
- [ ] Make the project available on PyPI
|
|
128
|
+
|
|
129
|
+
## Usage
|
|
130
|
+
|
|
131
|
+
Textual Code is not available on PyPI yet.
|
|
132
|
+
|
|
133
|
+
You can run the code using Docker.
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
docker compose build app
|
|
137
|
+
docker compose run --rm app
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Development
|
|
141
|
+
|
|
142
|
+
(You need to use devcontainer to run the code)
|
|
143
|
+
|
|
144
|
+
To open the textual console, run the following command:
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
uv run textual console
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Then, you can run the following command to run the code:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
uv run textual run --dev textual_code:main
|
|
154
|
+
```
|