Skip to content
Merged

Dev #78

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
# we specify bash to get pipefail; it guards against the `curl` command
# failing. otherwise `sh` won't catch that `curl` returned non-0
shell: bash
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.29.0/cargo-dist-installer.sh | sh"
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.30.0/cargo-dist-installer.sh | sh"
- name: Cache dist
uses: actions/upload-artifact@v4
with:
Expand Down
7 changes: 7 additions & 0 deletions docs/changelog.md → CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ Changelog

* No changes.

Version 0.1.34 -- 2025-Sep-02
-----------------------------

* Make the Client text editable again. Improve handling of selections.
* In VSCode, load a new file in the Client after a short delay, rather than
immediately. This provides a more efficient process when changing files.

Version 0.1.33 -- 2025-Sep-02
-----------------------------

Expand Down
23 changes: 12 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ software development process.
Full manual
-----------

The [full
manual](https://codechat-editor.onrender.com/fw/fsb/opt/render/project/src/README.md),
in 
Read the [manual rendered using the CodeCode
Editor](https://codechat-editor.onrender.com/fw/fsb/opt/render/project/src/README.md),
since this documentation doesn't correctly render on GitHub.

Installation
------------
Expand All @@ -25,16 +25,16 @@ Structure
---------

The CodeChat Editor divides source code into code blocks and documentation (doc)
blocks. These blocks are separated by newlines; the image below shows the
[style guide](docs/style_guide.cpp) on the left in the Visual Studio Code
(VSCode) text editor, while the right pane shows the same text from style guide
in the CodeChat Editor (using the VSCode extension). Specifically, this
screenshot shows:
blocks. These blocks are separated by newlines; the image below shows the [style
guide](docs/style_guide.cpp) on the left in the Visual Studio Code (VSCode) text
editor, while the right pane shows the same text from style guide in the
CodeChat Editor (using the VSCode extension). Specifically, this screenshot
shows:

* <span style="font-size: 20pt;">❶</span>: a doc block. Doc blocks must have
one space after the comment delimiter.
one space after the comment delimiter.
* <span style="font-size: 20pt;">❷</span>: a code block. Comments on the same
line as code are not interpreted as doc blocks.
line as code are not interpreted as doc blocks.
* <span style="font-size: 20pt;">❸</span>: varying indents before a doc block.
* <span style="font-size: 20pt;">❹</span>: [Markdown](https://commonmark.org/)
in a doc block; see a [brief overview of
Expand Down Expand Up @@ -140,7 +140,8 @@ following characters should be escaped: `*`, `_`, `\`, `[`, `]`, `<`.
| `$3 <a> b$` | $3 <a>b$</a> | `$3 \<a> b$` | $3 \<a> b$ |
| `$a \; b$` | $a \; b$ | `$a \\; b$` | $a \\; b$ |

## Diagrams
Diagrams
--------

### Graphviz

Expand Down
4 changes: 2 additions & 2 deletions builder/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 25 additions & 2 deletions builder/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -355,16 +355,25 @@ fn run_install(dev: bool) -> io::Result<()> {
patch_client_libs()?;
run_script("pnpm", &["install"], "../extensions/VSCode", true)?;
run_cmd!(
info "Builder: cargo fetch";
cargo fetch --manifest-path=../builder/Cargo.toml;
info "cargo fetch";
cargo fetch;
)?;
if dev {
// If the dist install reports an error, perhaps it's already installed.
if run_cmd!(cargo install --locked cargo-dist;).is_err() {
if run_cmd!(
info "cargo install cargo-dist";
cargo install --locked cargo-dist;
)
.is_err()
{
run_cmd!(dist --version;)?;
}
run_cmd!(
info "cargo install cargo-outdated";
cargo install --locked cargo-outdated;
info "cargo install cargo-sort";
cargo install cargo-sort;
)?;
}
Expand All @@ -376,14 +385,18 @@ fn run_update() -> io::Result<()> {
patch_client_libs()?;
run_script("pnpm", &["update"], "../extensions/VSCode", true)?;
run_cmd!(
info "Builder: cargo update";
cargo update --manifest-path=../builder/Cargo.toml;
info "cargo update";
cargo update;
)?;
// Simply display outdated dependencies, but don't consider them an error.
run_script("pnpm", &["outdated"], "../client", false)?;
run_script("pnpm", &["outdated"], "../extensions/VSCode", false)?;
run_cmd!(
info "Builder: cargo outdated";
cargo outdated --manifest-path=../builder/Cargo.toml;
info "cargo outdated";
cargo outdated;
)?;
Ok(())
Expand All @@ -393,32 +406,41 @@ fn run_test() -> io::Result<()> {
// The `-D warnings` flag causes clippy to return a non-zero exit status if
// it issues warnings.
run_cmd!(
info "cargo clippy and fmt";
cargo clippy --all-targets -- -D warnings;
cargo fmt --check;
info "Builder: cargo clippy and fmt";
cargo clippy --all-targets --manifest-path=../builder/Cargo.toml -- -D warnings;
cargo fmt --check --manifest-path=../builder/Cargo.toml;
info "cargo sort";
cargo sort --check;
cd ../builder;
info "Builder: cargo sort";
cargo sort --check;
)?;
run_build()?;
// Verify that compiling for release produces no errors.
run_cmd!(
cd ..;
info "dist build";
dist build;
)?;
run_cmd!(
info "Builder: cargo test";
cargo test --manifest-path=../builder/Cargo.toml;
info "cargo test";
cargo test;
)?;
println!("Tests complete.");
Ok(())
}

fn run_build() -> io::Result<()> {
run_cmd!(
info "Builder: cargo build";
cargo build --manifest-path=../builder/Cargo.toml;
info "cargo build";
cargo build;
info "cargo test export_bindings";
cargo test export_bindings;
)?;
// Clean out all bundled files before the rebuild.
Expand Down Expand Up @@ -580,6 +602,7 @@ fn run_prerelease() -> io::Result<()> {
remove_dir_all_if_exists("../client/static/bundled")?;
run_install(true)?;
run_cmd!(
info "cargo test export_bindings";
cargo test export_bindings;
)?;
run_script("pnpm", &["run", "dist"], "../client", true)?;
Expand Down
14 changes: 7 additions & 7 deletions client/package.json5
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
url: 'https://github.com/bjones1/CodeChat_editor',
},
type: 'module',
version: '0.1.33',
version: '0.1.34',
dependencies: {
'@codemirror/commands': '^6.8.1',
'@codemirror/lang-cpp': '^6.0.3',
Expand All @@ -64,8 +64,8 @@
codemirror: '^6.0.2',
'graphviz-webcomponent': 'github:bjones1/graphviz-webcomponent#dist',
mathjax: '4.0.0',
mermaid: '^11.10.1',
'npm-check-updates': '^18.0.3',
mermaid: '^11.11.0',
'npm-check-updates': '^18.1.0',
'pdfjs-dist': '^5.4.149',
tinymce: '^8.0.2',
'toastify-js': '^1.12.0',
Expand All @@ -74,13 +74,13 @@
'@types/chai': '^5.2.2',
'@types/js-beautify': '^1.14.3',
'@types/mocha': '^10.0.10',
'@types/node': '^24.3.0',
'@types/node': '^24.3.1',
'@types/toastify-js': '^1.12.4',
'@typescript-eslint/eslint-plugin': '^8.42.0',
'@typescript-eslint/parser': '^8.42.0',
'@typescript-eslint/eslint-plugin': '^8.43.0',
'@typescript-eslint/parser': '^8.43.0',
chai: '^6.0.1',
esbuild: '^0.25.9',
eslint: '^9.34.0',
eslint: '^9.35.0',
'eslint-config-prettier': '^10.1.8',
'eslint-plugin-import': '^2.32.0',
'eslint-plugin-prettier': '^5.5.4',
Expand Down
Loading
Loading