From 753ae978d2ddb79763474c7f3e70355e45f125b3 Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Sun, 12 Oct 2025 10:39:28 +0000 Subject: [PATCH] removing pencils, was a nice idea .. --- .../gen_email" => developer/Python3/gen_email | 0 .../Python3/gen_passwd | 0 .../gen_sig" => developer/Python3/gen_sig | 0 .../Z" => developer/bash/Z | 0 .../bash/bashrc_example | 0 .../cat_w_fn" => developer/bash/cat_w_fn | 0 .../deprecate" => developer/bash/deprecate | 0 .../bash/env_administrator | 0 .../bash/env_developer | 0 .../env_run" => developer/bash/env_run | 0 .../env_tester" => developer/bash/env_tester | 0 .../bash/githolder_to_empty_dirs | 0 developer/bash/make_project_skeleton.sh | 46 ++++ .../bash/release_dir | 0 .../release_ls" => developer/bash/release_ls | 0 .../bash/rm_tilda_files_tree | 0 .../test_env" => developer/bash/test_env | 0 .../vl" => developer/bash/vl | 0 .../bash/wipe_release | 0 .../home.cli.c" => developer/cc/home.cli.c | 0 .../cc/is_authored_fs_obj.c | 0 .../remove.c" => developer/cc/remove.c | 0 .../cc/unlink.lib.c | 0 .../cc/user-stem.cli.c | 0 .../cc/user-subu.cli.c | 0 .../user.cli.c" => developer/cc/user.cli.c | 0 .../emacs/emacs_wrap.txt | 0 .../emacs/for_dot_emacs.txt | 0 .../jdbx.el" => developer/emacs/jdbx.el | 0 .../RT_0.h" => developer/make/RT_0.h | 0 .../make/environment_RT_0 | 8 +- .../make/targets_developer | 10 +- .../make/targets_tester | 2 + .../Decrypt" => developer/nautilus/Decrypt | 0 .../Encrypt" => developer/nautilus/Encrypt | 0 .../nautilus/README.md | 0 .../ff" => developer/test/e/f/ff | 0 .../g/gg" => developer/test/e/f/g/gg | 0 .../env" => developer/tool/env | 0 .../make" => developer/tool/make | 0 .../makefile" => developer/tool/makefile | 0 .../release" => developer/tool/release | 0 document/#RT_code_format.org# | 195 +++++++++++++++++ ...ow_to_use_project_directory_structure.txt# | 0 .../Java_import_as_alternative.txt | 0 .../Pencil_Suffix.html | 0 .../RT_C_control_structure.html | 0 document/RT_code_format.org | 196 ++++++++++++++++++ .../Workflow.org" => document/Workflow.org | 0 .../bash_name_of_script.txt | 0 document/bracketed_phrases_section.txt | 51 +++++ .../directory_naming.html | 0 .../directory_structure.org | 0 .../enclosure_old.org | 0 ...how_to_use_project_directory_structure.txt | 0 .../install_Eclipse.txt | 0 .../install_Emacs.txt | 0 .../install_IntelliJ_IDEA.txt | 0 .../install_Mosaic.txt | 0 .../install_jdk-23.txt | 0 ...unning_IDE_and_jdb_in_test_environment.txt | 0 .../todo.txt" => document/todo.txt | 0 .../variable_suffix_conventions.txt | 0 "document\360\237\226\211/RT_code_format.org" | 150 -------------- "tool\360\237\226\211/env" => tool/env | 0 .../cat_w_fn" => tool_shared/bespoke/cat_w_fn | 0 .../env" => tool_shared/bespoke/env | 0 .../bespoke/githolder | 0 .../version" => tool_shared/bespoke/version | 0 .../vl" => tool_shared/bespoke/vl | 0 .../document/make_rm_na.txt | 0 71 files changed, 504 insertions(+), 154 deletions(-) rename "developer/Python3\360\237\226\211/gen_email" => developer/Python3/gen_email (100%) rename "developer/Python3\360\237\226\211/gen_passwd" => developer/Python3/gen_passwd (100%) rename "developer/Python3\360\237\226\211/gen_sig" => developer/Python3/gen_sig (100%) rename "developer/bash\360\237\226\211/Z" => developer/bash/Z (100%) rename "developer/bash\360\237\226\211/bashrc_example" => developer/bash/bashrc_example (100%) rename "developer/bash\360\237\226\211/cat_w_fn" => developer/bash/cat_w_fn (100%) rename "developer/bash\360\237\226\211/deprecate" => developer/bash/deprecate (100%) rename "developer/bash\360\237\226\211/env_administrator" => developer/bash/env_administrator (100%) rename "developer/bash\360\237\226\211/env_developer" => developer/bash/env_developer (100%) rename "developer/bash\360\237\226\211/env_run" => developer/bash/env_run (100%) rename "developer/bash\360\237\226\211/env_tester" => developer/bash/env_tester (100%) rename "developer/bash\360\237\226\211/githolder_to_empty_dirs" => developer/bash/githolder_to_empty_dirs (100%) create mode 100644 developer/bash/make_project_skeleton.sh rename "developer/bash\360\237\226\211/release_dir" => developer/bash/release_dir (100%) rename "developer/bash\360\237\226\211/release_ls" => developer/bash/release_ls (100%) rename "developer/bash\360\237\226\211/rm_tilda_files_tree" => developer/bash/rm_tilda_files_tree (100%) rename "developer/bash\360\237\226\211/test_env" => developer/bash/test_env (100%) rename "developer/bash\360\237\226\211/vl" => developer/bash/vl (100%) rename "developer/bash\360\237\226\211/wipe_release" => developer/bash/wipe_release (100%) rename "developer/cc\360\237\226\211/home.cli.c" => developer/cc/home.cli.c (100%) rename "developer/cc\360\237\226\211/is_authored_fs_obj.c" => developer/cc/is_authored_fs_obj.c (100%) rename "developer/cc\360\237\226\211/remove.c" => developer/cc/remove.c (100%) rename "developer/cc\360\237\226\211/unlink.lib.c" => developer/cc/unlink.lib.c (100%) rename "developer/cc\360\237\226\211/user-stem.cli.c" => developer/cc/user-stem.cli.c (100%) rename "developer/cc\360\237\226\211/user-subu.cli.c" => developer/cc/user-subu.cli.c (100%) rename "developer/cc\360\237\226\211/user.cli.c" => developer/cc/user.cli.c (100%) rename "developer/emacs\360\237\226\211/emacs_wrap.txt" => developer/emacs/emacs_wrap.txt (100%) rename "developer/emacs\360\237\226\211/for_dot_emacs.txt" => developer/emacs/for_dot_emacs.txt (100%) rename "developer/emacs\360\237\226\211/jdbx.el" => developer/emacs/jdbx.el (100%) rename "developer/make\360\237\226\211/RT_0.h" => developer/make/RT_0.h (100%) rename "developer/make\360\237\226\211/environment_RT_0" => developer/make/environment_RT_0 (68%) rename "developer/make\360\237\226\211/targets_developer" => developer/make/targets_developer (92%) rename "developer/make\360\237\226\211/targets_tester" => developer/make/targets_tester (97%) rename "developer/nautilus\360\237\226\211/Decrypt" => developer/nautilus/Decrypt (100%) rename "developer/nautilus\360\237\226\211/Encrypt" => developer/nautilus/Encrypt (100%) rename "developer/nautilus\360\237\226\211/README.md" => developer/nautilus/README.md (100%) rename "developer/test/e/f\360\237\226\211/ff" => developer/test/e/f/ff (100%) rename "developer/test/e/f\360\237\226\211/g/gg" => developer/test/e/f/g/gg (100%) rename "developer/tool\360\237\226\211/env" => developer/tool/env (100%) rename "developer/tool\360\237\226\211/make" => developer/tool/make (100%) rename "developer/tool\360\237\226\211/makefile" => developer/tool/makefile (100%) rename "developer/tool\360\237\226\211/release" => developer/tool/release (100%) create mode 100644 document/#RT_code_format.org# rename "document\360\237\226\211/#how_to_use_project_directory_structure.txt#" => document/#how_to_use_project_directory_structure.txt# (100%) rename "document\360\237\226\211/Java_import_as_alternative.txt" => document/Java_import_as_alternative.txt (100%) rename "document\360\237\226\211/Pencil_Suffix.html" => document/Pencil_Suffix.html (100%) rename "document\360\237\226\211/RT_C_control_structure.html" => document/RT_C_control_structure.html (100%) create mode 100644 document/RT_code_format.org rename "document\360\237\226\211/Workflow.org" => document/Workflow.org (100%) rename "document\360\237\226\211/bash_name_of_script.txt" => document/bash_name_of_script.txt (100%) create mode 100644 document/bracketed_phrases_section.txt rename "document\360\237\226\211/directory_naming.html" => document/directory_naming.html (100%) rename "document\360\237\226\211/directory_structure.org" => document/directory_structure.org (100%) rename "document\360\237\226\211/enclosure_old.org" => document/enclosure_old.org (100%) rename "document\360\237\226\211/how_to_use_project_directory_structure.txt" => document/how_to_use_project_directory_structure.txt (100%) rename "document\360\237\226\211/install_Eclipse.txt" => document/install_Eclipse.txt (100%) rename "document\360\237\226\211/install_Emacs.txt" => document/install_Emacs.txt (100%) rename "document\360\237\226\211/install_IntelliJ_IDEA.txt" => document/install_IntelliJ_IDEA.txt (100%) rename "document\360\237\226\211/install_Mosaic.txt" => document/install_Mosaic.txt (100%) rename "document\360\237\226\211/install_jdk-23.txt" => document/install_jdk-23.txt (100%) rename "document\360\237\226\211/running_IDE_and_jdb_in_test_environment.txt" => document/running_IDE_and_jdb_in_test_environment.txt (100%) rename "document\360\237\226\211/todo.txt" => document/todo.txt (100%) rename "document\360\237\226\211/variable_suffix_conventions.txt" => document/variable_suffix_conventions.txt (100%) delete mode 100644 "document\360\237\226\211/RT_code_format.org" rename "tool\360\237\226\211/env" => tool/env (100%) rename "tool_shared/bespoke\360\237\226\211/cat_w_fn" => tool_shared/bespoke/cat_w_fn (100%) rename "tool_shared/bespoke\360\237\226\211/env" => tool_shared/bespoke/env (100%) rename "tool_shared/bespoke\360\237\226\211/githolder" => tool_shared/bespoke/githolder (100%) rename "tool_shared/bespoke\360\237\226\211/version" => tool_shared/bespoke/version (100%) rename "tool_shared/bespoke\360\237\226\211/vl" => tool_shared/bespoke/vl (100%) rename "tool_shared/document\360\237\226\211/make_rm_na.txt" => tool_shared/document/make_rm_na.txt (100%) diff --git "a/developer/Python3\360\237\226\211/gen_email" b/developer/Python3/gen_email similarity index 100% rename from "developer/Python3\360\237\226\211/gen_email" rename to developer/Python3/gen_email diff --git "a/developer/Python3\360\237\226\211/gen_passwd" b/developer/Python3/gen_passwd similarity index 100% rename from "developer/Python3\360\237\226\211/gen_passwd" rename to developer/Python3/gen_passwd diff --git "a/developer/Python3\360\237\226\211/gen_sig" b/developer/Python3/gen_sig similarity index 100% rename from "developer/Python3\360\237\226\211/gen_sig" rename to developer/Python3/gen_sig diff --git "a/developer/bash\360\237\226\211/Z" b/developer/bash/Z similarity index 100% rename from "developer/bash\360\237\226\211/Z" rename to developer/bash/Z diff --git "a/developer/bash\360\237\226\211/bashrc_example" b/developer/bash/bashrc_example similarity index 100% rename from "developer/bash\360\237\226\211/bashrc_example" rename to developer/bash/bashrc_example diff --git "a/developer/bash\360\237\226\211/cat_w_fn" b/developer/bash/cat_w_fn similarity index 100% rename from "developer/bash\360\237\226\211/cat_w_fn" rename to developer/bash/cat_w_fn diff --git "a/developer/bash\360\237\226\211/deprecate" b/developer/bash/deprecate similarity index 100% rename from "developer/bash\360\237\226\211/deprecate" rename to developer/bash/deprecate diff --git "a/developer/bash\360\237\226\211/env_administrator" b/developer/bash/env_administrator similarity index 100% rename from "developer/bash\360\237\226\211/env_administrator" rename to developer/bash/env_administrator diff --git "a/developer/bash\360\237\226\211/env_developer" b/developer/bash/env_developer similarity index 100% rename from "developer/bash\360\237\226\211/env_developer" rename to developer/bash/env_developer diff --git "a/developer/bash\360\237\226\211/env_run" b/developer/bash/env_run similarity index 100% rename from "developer/bash\360\237\226\211/env_run" rename to developer/bash/env_run diff --git "a/developer/bash\360\237\226\211/env_tester" b/developer/bash/env_tester similarity index 100% rename from "developer/bash\360\237\226\211/env_tester" rename to developer/bash/env_tester diff --git "a/developer/bash\360\237\226\211/githolder_to_empty_dirs" b/developer/bash/githolder_to_empty_dirs similarity index 100% rename from "developer/bash\360\237\226\211/githolder_to_empty_dirs" rename to developer/bash/githolder_to_empty_dirs diff --git a/developer/bash/make_project_skeleton.sh b/developer/bash/make_project_skeleton.sh new file mode 100644 index 0000000..8404711 --- /dev/null +++ b/developer/bash/make_project_skeleton.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +# this has never been run, but is the general idea ... ROOT_DIR needs to be changed + +set -e + +ROOT_DIR="${1:-Harmony}" +echo "Creating Harmony project skeleton in: $ROOT_DIR" + +# Create top-level structure +mkdir -p "$ROOT_DIR"/{developer,release,tester,tmp,tool_shared/{bespoke🖉,customized,document🖉,third_party}} + +# Create env_ scripts as placeholders +for role in developer tester toolsmith; do + touch "$ROOT_DIR/env_$role" +done + +# Create LICENSE and README.md placeholders +touch "$ROOT_DIR/LICENSE" +touch "$ROOT_DIR/README.md" + +# Create git_holder in release/ and tester/ +touch "$ROOT_DIR/release/git_holder" +touch "$ROOT_DIR/tester/git_holder" + +# Create .gitignore in tmp/ and third_party/ +cat > "$ROOT_DIR/tmp/.gitignore" < "$ROOT_DIR/tool_shared/third_party/.gitignore" < scripts and LICENSE as needed." diff --git "a/developer/bash\360\237\226\211/release_dir" b/developer/bash/release_dir similarity index 100% rename from "developer/bash\360\237\226\211/release_dir" rename to developer/bash/release_dir diff --git "a/developer/bash\360\237\226\211/release_ls" b/developer/bash/release_ls similarity index 100% rename from "developer/bash\360\237\226\211/release_ls" rename to developer/bash/release_ls diff --git "a/developer/bash\360\237\226\211/rm_tilda_files_tree" b/developer/bash/rm_tilda_files_tree similarity index 100% rename from "developer/bash\360\237\226\211/rm_tilda_files_tree" rename to developer/bash/rm_tilda_files_tree diff --git "a/developer/bash\360\237\226\211/test_env" b/developer/bash/test_env similarity index 100% rename from "developer/bash\360\237\226\211/test_env" rename to developer/bash/test_env diff --git "a/developer/bash\360\237\226\211/vl" b/developer/bash/vl similarity index 100% rename from "developer/bash\360\237\226\211/vl" rename to developer/bash/vl diff --git "a/developer/bash\360\237\226\211/wipe_release" b/developer/bash/wipe_release similarity index 100% rename from "developer/bash\360\237\226\211/wipe_release" rename to developer/bash/wipe_release diff --git "a/developer/cc\360\237\226\211/home.cli.c" b/developer/cc/home.cli.c similarity index 100% rename from "developer/cc\360\237\226\211/home.cli.c" rename to developer/cc/home.cli.c diff --git "a/developer/cc\360\237\226\211/is_authored_fs_obj.c" b/developer/cc/is_authored_fs_obj.c similarity index 100% rename from "developer/cc\360\237\226\211/is_authored_fs_obj.c" rename to developer/cc/is_authored_fs_obj.c diff --git "a/developer/cc\360\237\226\211/remove.c" b/developer/cc/remove.c similarity index 100% rename from "developer/cc\360\237\226\211/remove.c" rename to developer/cc/remove.c diff --git "a/developer/cc\360\237\226\211/unlink.lib.c" b/developer/cc/unlink.lib.c similarity index 100% rename from "developer/cc\360\237\226\211/unlink.lib.c" rename to developer/cc/unlink.lib.c diff --git "a/developer/cc\360\237\226\211/user-stem.cli.c" b/developer/cc/user-stem.cli.c similarity index 100% rename from "developer/cc\360\237\226\211/user-stem.cli.c" rename to developer/cc/user-stem.cli.c diff --git "a/developer/cc\360\237\226\211/user-subu.cli.c" b/developer/cc/user-subu.cli.c similarity index 100% rename from "developer/cc\360\237\226\211/user-subu.cli.c" rename to developer/cc/user-subu.cli.c diff --git "a/developer/cc\360\237\226\211/user.cli.c" b/developer/cc/user.cli.c similarity index 100% rename from "developer/cc\360\237\226\211/user.cli.c" rename to developer/cc/user.cli.c diff --git "a/developer/emacs\360\237\226\211/emacs_wrap.txt" b/developer/emacs/emacs_wrap.txt similarity index 100% rename from "developer/emacs\360\237\226\211/emacs_wrap.txt" rename to developer/emacs/emacs_wrap.txt diff --git "a/developer/emacs\360\237\226\211/for_dot_emacs.txt" b/developer/emacs/for_dot_emacs.txt similarity index 100% rename from "developer/emacs\360\237\226\211/for_dot_emacs.txt" rename to developer/emacs/for_dot_emacs.txt diff --git "a/developer/emacs\360\237\226\211/jdbx.el" b/developer/emacs/jdbx.el similarity index 100% rename from "developer/emacs\360\237\226\211/jdbx.el" rename to developer/emacs/jdbx.el diff --git "a/developer/make\360\237\226\211/RT_0.h" b/developer/make/RT_0.h similarity index 100% rename from "developer/make\360\237\226\211/RT_0.h" rename to developer/make/RT_0.h diff --git "a/developer/make\360\237\226\211/environment_RT_0" b/developer/make/environment_RT_0 similarity index 68% rename from "developer/make\360\237\226\211/environment_RT_0" rename to developer/make/environment_RT_0 index 515ee36..c17b478 100644 --- "a/developer/make\360\237\226\211/environment_RT_0" +++ b/developer/make/environment_RT_0 @@ -4,10 +4,14 @@ SHELL=/bin/bash -ECHO= echo -e +#ECHO= echo -e #ECHO= echo +ECHO := printf "%b\n" + +# sources found in these subdirectories: SRCDIR_List=cc cc🖉 + LIBDIR=scratchpad EXECDIR=machine TMPDIR=scratchpad @@ -16,5 +20,5 @@ DEPFILE=$(TMPDIR)/makefile-cc.deps LIBFILE=$(TMPDIR)/lib.a C=gcc -CFLAGS= +CFLAGS=-std=gnu11 -Wall -Wextra -Wpedantic -finput-charset=UTF-8 LINKFLAGS=-L$(LIBDIR) -L/lib64 -L/lib diff --git "a/developer/make\360\237\226\211/targets_developer" b/developer/make/targets_developer similarity index 92% rename from "developer/make\360\237\226\211/targets_developer" rename to developer/make/targets_developer index 883cf16..a8ef237 100644 --- "a/developer/make\360\237\226\211/targets_developer" +++ b/developer/make/targets_developer @@ -46,6 +46,7 @@ all: usage .PHONY: usage usage: + @echo example usage: make clean @echo example usage: make dependency library cli @echo example usage: make dependency @echo example usage: make library @@ -59,6 +60,7 @@ version: .PHONY: information information: + @printf "· → Unicode middle dot — visible: [%b]\n" "·" @echo "SRCDIR_List: " $(SRCDIR_List) @echo "C_SOURCE_LIB: " $(C_SOURCE_LIB) @echo "C_SOURCE_EXEC: " $(C_SOURCE_EXEC) @@ -88,11 +90,15 @@ $(DEPFILE): $(C_SOURCE_LIB) $(C_SOURCE_EXEC) .PHONY: library library: $(LIBFILE) -$(LIBFILE): $(OBJECT_LIB) $(DEPFILE) +# dunno why it is making deps every time so... + +#$(LIBFILE): $(OBJECT_LIB) $(DEPFILE) +$(LIBFILE): $(OBJECT_LIB) ar rcs $(LIBFILE) $(OBJECT_LIB) .PHONY: cli -cli: $(LIBFILE) $(DEPFILE) +#cli: $(LIBFILE) $(DEPFILE) +cli: $(LIBFILE) make sub_cli .PHONY: sub_cli diff --git "a/developer/make\360\237\226\211/targets_tester" b/developer/make/targets_tester similarity index 97% rename from "developer/make\360\237\226\211/targets_tester" rename to developer/make/targets_tester index 6b2953a..fef0831 100644 --- "a/developer/make\360\237\226\211/targets_tester" +++ b/developer/make/targets_tester @@ -47,6 +47,7 @@ all: usage .PHONY: usage usage: + @echo example usage: make clean @echo example usage: make dependency cli @echo example usage: make dependency @echo example usage: make cli @@ -59,6 +60,7 @@ version: .PHONY: information information: + @printf "· → Unicode middle dot — visible: [%b]\n" "·" @echo "SRCDIR_List: " $(SRCDIR_List) @echo "C_SOURCE_LIB: " $(C_SOURCE_LIB) @echo "C_SOURCE_EXEC: " $(C_SOURCE_EXEC) diff --git "a/developer/nautilus\360\237\226\211/Decrypt" b/developer/nautilus/Decrypt similarity index 100% rename from "developer/nautilus\360\237\226\211/Decrypt" rename to developer/nautilus/Decrypt diff --git "a/developer/nautilus\360\237\226\211/Encrypt" b/developer/nautilus/Encrypt similarity index 100% rename from "developer/nautilus\360\237\226\211/Encrypt" rename to developer/nautilus/Encrypt diff --git "a/developer/nautilus\360\237\226\211/README.md" b/developer/nautilus/README.md similarity index 100% rename from "developer/nautilus\360\237\226\211/README.md" rename to developer/nautilus/README.md diff --git "a/developer/test/e/f\360\237\226\211/ff" b/developer/test/e/f/ff similarity index 100% rename from "developer/test/e/f\360\237\226\211/ff" rename to developer/test/e/f/ff diff --git "a/developer/test/e/f\360\237\226\211/g/gg" b/developer/test/e/f/g/gg similarity index 100% rename from "developer/test/e/f\360\237\226\211/g/gg" rename to developer/test/e/f/g/gg diff --git "a/developer/tool\360\237\226\211/env" b/developer/tool/env similarity index 100% rename from "developer/tool\360\237\226\211/env" rename to developer/tool/env diff --git "a/developer/tool\360\237\226\211/make" b/developer/tool/make similarity index 100% rename from "developer/tool\360\237\226\211/make" rename to developer/tool/make diff --git "a/developer/tool\360\237\226\211/makefile" b/developer/tool/makefile similarity index 100% rename from "developer/tool\360\237\226\211/makefile" rename to developer/tool/makefile diff --git "a/developer/tool\360\237\226\211/release" b/developer/tool/release similarity index 100% rename from "developer/tool\360\237\226\211/release" rename to developer/tool/release diff --git a/document/#RT_code_format.org# b/document/#RT_code_format.org# new file mode 100644 index 0000000..a223d6b --- /dev/null +++ b/document/#RT_code_format.org# @@ -0,0 +1,195 @@ +#+TITLE: RT Code Format Guide +#+AUTHOR: Thomas Walker Lynch +#+DATE: 2025-02-28 +#+OPTIONS: toc:nil + +* Introduction + +The RT Code Format is intended to apply across languages, and thus the rules are agnostic to the language being code. The RT Code format produces a dense output so as to make room +for longer identifier names and to put more code on that tiny screen of your laptop so you can work in a cafe. The rules focus on indentation, naming conventions, enclosure spacing, and unique handling of commas. + +* RT Formatting Should Be Applied After Any Other Formatting + +Many formatting tools apply automatic spacing and alignment adjustments before finalizing code. One common example is Preemptive Enclosure Adjustment (PEA), where spaces are added or removed inside enclosures automatically. This can cause conflicts with RT Formatting rules. + +RT Formatting should be applied as a **final step** to resolve such conflicts: +- RT rules **override** PEA rules where they differ. +- Where there is no conflict, existing formatting remains unchanged. +- This ensures consistency when AI-generated code is reformatted. + +Common formatting conflicts: +- **Indentation:** PEA favors 4-character indentation, whereas RT Formatting enforces 2-character indentation. + This allows for more liberal indentation use and keeps statements compact. +- **Comma Placement:** RT Formatting treats the comma as a **syntactic append operator**. +- **Parentheses, Brackets, and Braces:** AI should follow the **exception detection procedure** for enclosure spacing. +- **Operator Formatting:** Certain operators require **specific spacing rules**. +- **Short Statements:** `if`, `while`, and similar constructs follow the **Short Stuff Rule** for single-line clauses. + +* Naming Conventions + +1. **Namespaces and types** use *PascalCase*. +2. **Functions and variables** use *snake_case*. +3. **Ordered collections** use `_list` as a suffix (e.g., `node_list`), even if the language does not have a `List` type. + +Examples: +#+BEGIN_SRC c +mouse_count +test_LabelList_0 // Function testing LabelList (a class/type) +Thomas_Walker_Lynch +#+END_SRC + +* Binary Operators + + There is no space around multiply and divide binary operators. + + There is one space around all other operators. + +* Assignment + + Two types of assignment: + + 1. sampling assignment, `=` inside `if`, `while`, etc. + 2. single statement assignment + + No space around sampling assignment `=`. + +Example: +#+BEGIN_SRC c +if( result=some_condition() ){ // Sampling assignment, no spaces + process(result); +} +a = b + c; // Regular assignment with spaces +#+END_SRC + +* No space before Newline + +There is never space before an unquoted newline. + +* Enclosure + +Enclosed text is found after an opening enclosure punctuation symbol, +and before the matching closing punctuation symbol. + +- `(...)` (parentheses) +- `{...}` (braces) +- `[...]` (square brackets) +- `<...>` (angle brackets) + +It is common to find enclosures as part of language statements. For example: +#+BEGIN_SRC c +if(i<10) +#+END_SRC +Here the enclosed text is `i<10`. + +As another example: +#+BEGIN_SRC c +while(true) +#+END_SRC +Here the enclosured text is `true`. + +Enclosures are also found in expressions. For example: +#+BEGIN_SRC c + 3*(2 + 4) +#+END_SRC +Here the enclosed text is `2 + 4`. + +There can be multiple enclosures in a given statement, depending on the language, or in a given expression. For example: +#+BEGIN_SRC c + (1 +3)*(2 + 4) +#+END_SRC +Here there are two enclosures `(1 + 3)` and `(2 + 4)`. The first enclosure encloses the text `1 + 3` while the second encloses `(2 + 4)`. + +In RT formatting, there is no native space before or after the enclosure punctuation. There can be space due to other rules, such as the space around the plus operator. For example: +#+BEGIN_SRC c + (1*3) + (2*4) +#+END_SRC +Here the space around the enclosure punctuation belongs to the operator, rather than to the enclosure punctuation. + +Enclosed text can hold further enclosed text. This is 'nesting' of enclosures. + +Because enclosure nesting can run deep, we have allowed for one exception to the no space enclosure punctuation rule. Follow these steps: + +** Line-by-Line Formatting + +Enclosure formatting is applied **per line**, without scanning beyond that line. + +- **Virtual Closure Rule:** + At the **end of a line**, any still-open enclosure punctuation is treated as **closed** for formatting purposes. + +- **Virtual Opening Rule:** + At the **start of a new line**, any **orphaned closing punctuation** found there is treated as **belonging to the current line**. + + +** Procedure for Identifying Enclosure Exceptions + +1. The language is not Lisp. +2. The enclosure meets **all** of the following conditions: + - It opens and closes on a **single line**. + - It contains at least **one nested enclosure** inside. + - It is not found in the enclosed text of other enclosure on that line. +3. If these conditions hold, **apply the exception**: + - Insert **one space** after the opening enclosure punctuation. + - Insert **one space** before the closing enclosure punctuation. + +**Example of a qualifying enclosure:** +#+BEGIN_SRC c +if( (x == 3 || y < 5) && z ){ + process_data(); +} +#+END_SRC + +Here, `( (x == 3 || y < 5) && z )` qualifies for spacing adjustment. + +**Example of a non-qualifying enclosure:** +#+BEGIN_SRC c +if(y < 5){ + process_data(); +} +#+END_SRC + +Since no enclosure on this line meets the conditions, **no additional spaces** are added. + +** Adjacency +When two enclosures appear side by side (like `)(` or `}{`), there is *no space* between them. + +* Commas + +The **comma rule** is one of the most distinctive and recognizable aspects of RT Code Formatting. + +1. **One space before the comma** (e.g., `a ,b`). +2. **No space after the comma** (e.g., `a ,b`). +3. **Line break before the comma when breaking lines**, but **no line break after the comma**. + +Examples: +#+BEGIN_SRC c +a +,b +#+END_SRC + +When function arguments get too long, break lines as follows: +#+BEGIN_SRC c +result = some_function( + first_argument + ,second_argument_with_longer_name + ,third_argument +); +#+END_SRC + +✔ **This ensures consistency and maintains readability.** + +* Short Stuff Rule + +For **`if`**, **`for`**, and **`while`** statements that introduce a *single-line* clause with no `else`, if the **condition and clause together fit within one line, they should **remain on a single line without braces**. Say when about ≤40 characters, though this is not strictly ≤40 characters — it depends on complexity and formatting. If the condition and action are simple, or perhaps fit a parallel construct with other short stuff, they should stay inline. + + + + + +Example: +#+BEGIN_SRC c +if( x > 0 ) return x; +while( has_next() ) process_next(); +#+END_SRC + + + \ No newline at end of file diff --git "a/document\360\237\226\211/#how_to_use_project_directory_structure.txt#" b/document/#how_to_use_project_directory_structure.txt# similarity index 100% rename from "document\360\237\226\211/#how_to_use_project_directory_structure.txt#" rename to document/#how_to_use_project_directory_structure.txt# diff --git "a/document\360\237\226\211/Java_import_as_alternative.txt" b/document/Java_import_as_alternative.txt similarity index 100% rename from "document\360\237\226\211/Java_import_as_alternative.txt" rename to document/Java_import_as_alternative.txt diff --git "a/document\360\237\226\211/Pencil_Suffix.html" b/document/Pencil_Suffix.html similarity index 100% rename from "document\360\237\226\211/Pencil_Suffix.html" rename to document/Pencil_Suffix.html diff --git "a/document\360\237\226\211/RT_C_control_structure.html" b/document/RT_C_control_structure.html similarity index 100% rename from "document\360\237\226\211/RT_C_control_structure.html" rename to document/RT_C_control_structure.html diff --git a/document/RT_code_format.org b/document/RT_code_format.org new file mode 100644 index 0000000..9c045a6 --- /dev/null +++ b/document/RT_code_format.org @@ -0,0 +1,196 @@ +#+TITLE: RT Code Format Guide +#+AUTHOR: Thomas Walker Lynch +#+DATE: 2025-02-28 +#+OPTIONS: toc:nil + +# perhaps add rules about main functions being merely wrappers that pack arguments, call the reall business function, and then unpack results from the business function perhaps to print, and to set the main return value. + +* Introduction + +The RT Code Format is intended to apply across languages, and thus the rules are agnostic to the language being code. The RT Code format produces a dense output so as to make room +for longer identifier names and to put more code on that tiny screen of your laptop so you can work in a cafe. The rules focus on indentation, naming conventions, enclosure spacing, and unique handling of commas. + +* RT Formatting Should Be Applied After Any Other Formatting + +Many formatting tools apply automatic spacing and alignment adjustments before finalizing code. One common example is Preemptive Enclosure Adjustment (PEA), where spaces are added or removed inside enclosures automatically. This can cause conflicts with RT Formatting rules. + +RT Formatting should be applied as a **final step** to resolve such conflicts: +- RT rules **override** PEA rules where they differ. +- Where there is no conflict, existing formatting remains unchanged. +- This ensures consistency when AI-generated code is reformatted. + +Common formatting conflicts: +- **Indentation:** PEA favors 4-character indentation, whereas RT Formatting enforces 2-character indentation. + This allows for more liberal indentation use and keeps statements compact. +- **Comma Placement:** RT Formatting treats the comma as a **syntactic append operator**. +- **Parentheses, Brackets, and Braces:** AI should follow the **exception detection procedure** for enclosure spacing. +- **Operator Formatting:** Certain operators require **specific spacing rules**. +- **Short Statements:** `if`, `while`, and similar constructs follow the **Short Stuff Rule** for single-line clauses. + +* Naming Conventions + +1. **Namespaces and types** use *PascalCase*. +2. **Functions and variables** use *snake_case*. +3. **Ordered collections** use `_list` as a suffix (e.g., `node_list`), even if the language does not have a `List` type. + +Examples: +#+BEGIN_SRC c +mouse_count +test_LabelList_0 // Function testing LabelList (a class/type) +Thomas_Walker_Lynch +#+END_SRC + +* Binary Operators + + There is no space around multiply and divide binary operators. + + There is one space around all other operators. + +* Assignment + + Two types of assignment: + + 1. sampling assignment, `=` inside `if`, `while`, etc. + 2. single statement assignment + + No space around sampling assignment `=`. + +Example: +#+BEGIN_SRC c +if( result=some_condition() ){ // Sampling assignment, no spaces + process(result); +} +a = b + c; // Regular assignment with spaces +#+END_SRC + +* No space before Newline + +There is never space before an unquoted newline. + +* Enclosure + +Enclosed text is found after an opening enclosure punctuation symbol, +and before the matching closing punctuation symbol. + +- `(...)` (parentheses) +- `{...}` (braces) +- `[...]` (square brackets) +- `<...>` (angle brackets) + +It is common to find enclosures as part of language statements. For example: +#+BEGIN_SRC c +if(i<10) +#+END_SRC +Here the enclosed text is `i<10`. + +As another example: +#+BEGIN_SRC c +while(true) +#+END_SRC +Here the enclosured text is `true`. + +Enclosures are also found in expressions. For example: +#+BEGIN_SRC c + 3*(2 + 4) +#+END_SRC +Here the enclosed text is `2 + 4`. + +There can be multiple enclosures in a given statement, depending on the language, or in a given expression. For example: +#+BEGIN_SRC c + (1 +3)*(2 + 4) +#+END_SRC +Here there are two enclosures `(1 + 3)` and `(2 + 4)`. The first enclosure encloses the text `1 + 3` while the second encloses `(2 + 4)`. + +In RT formatting, there is no native space before or after the enclosure punctuation. There can be space due to other rules, such as the space around the plus operator. For example: +#+BEGIN_SRC c + (1*3) + (2*4) +#+END_SRC +Here the space around the enclosure punctuation belongs to the operator, rather than to the enclosure punctuation. + +Enclosed text can hold further enclosed text. This is 'nesting' of enclosures. + +Because enclosure nesting can run deep, we have allowed for one exception to the no space enclosure punctuation rule. Follow these steps: + +** Line-by-Line Formatting + +Enclosure formatting is applied **per line**, without scanning beyond that line. + +- **Virtual Closure Rule:** + At the **end of a line**, any still-open enclosure punctuation is treated as **closed** for formatting purposes. + +- **Virtual Opening Rule:** + At the **start of a new line**, any **orphaned closing punctuation** found there is treated as **belonging to the current line**. + + +** Procedure for Identifying Enclosure Exceptions + +1. The language is not Lisp. +2. The enclosure meets **all** of the following conditions: + - It opens and closes on a **single line**. + - It contains at least **one nested enclosure** inside. + - It is not found in the enclosed text of other enclosure on that line. +3. If these conditions hold, **apply the exception**: + - Insert **one space** after the opening enclosure punctuation. + - Insert **one space** before the closing enclosure punctuation. + +**Example of a qualifying enclosure:** +#+BEGIN_SRC c +if( (x == 3 || y < 5) && z ){ + process_data(); +} +#+END_SRC + +Here, `( (x == 3 || y < 5) && z )` qualifies for spacing adjustment. + +**Example of a non-qualifying enclosure:** +#+BEGIN_SRC c +if(y < 5){ + process_data(); +} +#+END_SRC + +Since no enclosure on this line meets the conditions, **no additional spaces** are added. + +** Adjacency +When two enclosures appear side by side (like `)(` or `}{`), there is *no space* between them. + +* Commas + +The **comma rule** is one of the most distinctive and recognizable aspects of RT Code Formatting. + +1. **One space before the comma** (e.g., `a ,b`). +2. **No space after the comma** (e.g., `a ,b`). +3. **Line break before the comma when breaking lines**, but **no line break after the comma**. + +Examples: +#+BEGIN_SRC c +a +,b +#+END_SRC + +When function arguments get too long, break lines as follows: +#+BEGIN_SRC c +result = some_function( + first_argument + ,second_argument_with_longer_name + ,third_argument +); +#+END_SRC + +✔ **This ensures consistency and maintains readability.** + +* Short Stuff Rule + +For **`if`**, **`for`**, and **`while`** statements that introduce a *single-line* clause with no `else`, if the **condition and clause together fit within one line, they should **remain on a single line without braces**. Say when about ≤40 characters, though this is not strictly ≤40 characters — it depends on complexity and formatting. If the condition and action are simple, or perhaps fit a parallel construct with other short stuff, they should stay inline. + + + + + +Example: +#+BEGIN_SRC c +if( x > 0 ) return x; +while( has_next() ) process_next(); +#+END_SRC + + diff --git "a/document\360\237\226\211/Workflow.org" b/document/Workflow.org similarity index 100% rename from "document\360\237\226\211/Workflow.org" rename to document/Workflow.org diff --git "a/document\360\237\226\211/bash_name_of_script.txt" b/document/bash_name_of_script.txt similarity index 100% rename from "document\360\237\226\211/bash_name_of_script.txt" rename to document/bash_name_of_script.txt diff --git a/document/bracketed_phrases_section.txt b/document/bracketed_phrases_section.txt new file mode 100644 index 0000000..295a3fa --- /dev/null +++ b/document/bracketed_phrases_section.txt @@ -0,0 +1,51 @@ +* Bracketed Phrases + +In token processing, a *bracketed phrase* is the text starting from an opening bracket up to its matching closing bracket, including both brackets. We treat any of `(...)`, `{...}`, `[...]`, or `<...>` as “brackets”. Bracketed phrases are detected purely at the token level—no higher-level grammar or semantics are considered. + +** Examples +- **`if(x){...}` vs. `f(x){...}`** + Both share the same token-level structure: an identifier followed by `(x)` and then `{...}`. +- **`sin(3x)`** + Has one bracketed phrase `(3x)`, where `3x` is the “contents” and `()` is the “container.” + +** Nesting + +1. **Innermost Bracketed Phrase** + Contains *no other* bracketed phrase inside it. Due to adjacency, multiple innermost bracketed phrases can occur. + +2. **Outermost Bracketed Phrase** + An outermost bracketed phrase is one that is not itself contained in any other bracketed phrase. + +3. **Contained (Inner) Bracketed Phrase** + A bracketed phrase located within the contents of another bracketed phrase (the *outer* one). + +4. **Bracketed Phrase with Nesting** + A bracketed phrase that contains one or more bracketed phrases. + + A bracketed phrase is “with nesting” only if it contains at least one inner bracketed phrase. In other words, non-quoted bracket punctuated phrases occurs inside the contents — not just commas or other punctuation. + + +**Examples** +In `sin(f(x) + (a))`, the phrase `(x)` is contained in `(f(x) (a))`, which in turn is contained in `sin(...)`. `(a) is also contained in`(f(x) (a))`. `(x)` is innermost. +`(a)` is also innermost. + +**Open Bracketed Phrases + +A bracketed phrase is **open** if it’s missing a matching opening or closing bracket. + +- **Open on the Right**: Has unmatched opening brackets (e.g., `(` but no `)`). +- **Open on the Left**: Has unmatched closing brackets (e.g., `)` but no preceding `(`). + +** 1D Box Analogy + +Think of each bracketed phrase like a **1D CSS box**: + +- The **opening and closing brackets** are the “borders.” +- **Margin (outside)**: By default, bracketed phrases have *no extra spacing* around their borders—unless another rule (like an operator or adjacent token) requires space. + Example: `f()()` is valid with no space, but `f () ()` is not. +- **Padding (inside)**: If a bracketed phrase is both + 1) outermost on a line, + 2) has nesting, + 3) and is not a Lisp s-expression, + then place **one space** immediately after the opening bracket and **one space** before the closing bracket. + diff --git "a/document\360\237\226\211/directory_naming.html" b/document/directory_naming.html similarity index 100% rename from "document\360\237\226\211/directory_naming.html" rename to document/directory_naming.html diff --git "a/document\360\237\226\211/directory_structure.org" b/document/directory_structure.org similarity index 100% rename from "document\360\237\226\211/directory_structure.org" rename to document/directory_structure.org diff --git "a/document\360\237\226\211/enclosure_old.org" b/document/enclosure_old.org similarity index 100% rename from "document\360\237\226\211/enclosure_old.org" rename to document/enclosure_old.org diff --git "a/document\360\237\226\211/how_to_use_project_directory_structure.txt" b/document/how_to_use_project_directory_structure.txt similarity index 100% rename from "document\360\237\226\211/how_to_use_project_directory_structure.txt" rename to document/how_to_use_project_directory_structure.txt diff --git "a/document\360\237\226\211/install_Eclipse.txt" b/document/install_Eclipse.txt similarity index 100% rename from "document\360\237\226\211/install_Eclipse.txt" rename to document/install_Eclipse.txt diff --git "a/document\360\237\226\211/install_Emacs.txt" b/document/install_Emacs.txt similarity index 100% rename from "document\360\237\226\211/install_Emacs.txt" rename to document/install_Emacs.txt diff --git "a/document\360\237\226\211/install_IntelliJ_IDEA.txt" b/document/install_IntelliJ_IDEA.txt similarity index 100% rename from "document\360\237\226\211/install_IntelliJ_IDEA.txt" rename to document/install_IntelliJ_IDEA.txt diff --git "a/document\360\237\226\211/install_Mosaic.txt" b/document/install_Mosaic.txt similarity index 100% rename from "document\360\237\226\211/install_Mosaic.txt" rename to document/install_Mosaic.txt diff --git "a/document\360\237\226\211/install_jdk-23.txt" b/document/install_jdk-23.txt similarity index 100% rename from "document\360\237\226\211/install_jdk-23.txt" rename to document/install_jdk-23.txt diff --git "a/document\360\237\226\211/running_IDE_and_jdb_in_test_environment.txt" b/document/running_IDE_and_jdb_in_test_environment.txt similarity index 100% rename from "document\360\237\226\211/running_IDE_and_jdb_in_test_environment.txt" rename to document/running_IDE_and_jdb_in_test_environment.txt diff --git "a/document\360\237\226\211/todo.txt" b/document/todo.txt similarity index 100% rename from "document\360\237\226\211/todo.txt" rename to document/todo.txt diff --git "a/document\360\237\226\211/variable_suffix_conventions.txt" b/document/variable_suffix_conventions.txt similarity index 100% rename from "document\360\237\226\211/variable_suffix_conventions.txt" rename to document/variable_suffix_conventions.txt diff --git "a/document\360\237\226\211/RT_code_format.org" "b/document\360\237\226\211/RT_code_format.org" deleted file mode 100644 index 9555151..0000000 --- "a/document\360\237\226\211/RT_code_format.org" +++ /dev/null @@ -1,150 +0,0 @@ -#+TITLE: RT Code Format Guide -#+AUTHOR: Thomas Walker Lynch and Aion -#+DATE: 2025-02-28 -#+OPTIONS: toc:nil - -* Introduction - -The RT Code Format enforces clear and consistent rules for formatting and naming in code, prioritizing readability, maintainability, and logical structure. The rules focus on indentation, naming conventions, enclosure spacing, and unique handling of commas. - -* Indentation - -- Code blocks are indented by **two spaces per level**. -- No additional alignment-based indentation (e.g., aligning operators or parameters to columns). - -* Naming Conventions - -1. **Namespaces and types** use *PascalCase*. -2. **Functions and variables** use *snake_case*. -3. **Ordered collections** use `_list` as a suffix (e.g., `node_list`), even if the language does not have a `List` type. - -Examples: -#+BEGIN_SRC c -mouse_count -test_LabelList_0 // Function testing LabelList (a class/type) -Thomas_Walker_Lynch -#+END_SRC - -* Binary Operators - - There is no space around multiply and divide binary operators. - - There is one space around all other operators. - -* Assignment - - Two types of assignment: - - 1. sampling assignment, `=` inside `if`, `while`, etc. - 2. single statement assignment - - No space around sampling assignment `=`. - -Example: -#+BEGIN_SRC c -if( result=some_condition() ){ // Sampling assignment, no spaces - process(result); -} -a = b + c; // Regular assignment with spaces -#+END_SRC - -* Newline - -There is never space before an unquoted newline. - - -* Bracketed Phrases - -In token processing, a *bracketed phrase* is the text starting from an opening bracket up to its matching closing bracket, including both brackets. We treat any of `(...)`, `{...}`, `[...]`, or `<...>` as “brackets”. Bracketed phrases are detected purely at the token level—no higher-level grammar or semantics are considered. - -** Examples -- **`if(x){...}` vs. `f(x){...}`** - Both share the same token-level structure: an identifier followed by `(x)` and then `{...}`. -- **`sin(3x)`** - Has one bracketed phrase `(3x)`, where `3x` is the “contents” and `()` is the “container.” - -** Nesting - -1. **Innermost Bracketed Phrase** - Contains *no other* bracketed phrase inside it. Due to adjacency, multiple innermost bracketed phrases can occur. - -2. **Outermost Bracketed Phrase** - An outermost bracketed phrase is one that is not itself contained in any other bracketed phrase. - -3. **Contained (Inner) Bracketed Phrase** - A bracketed phrase located within the contents of another bracketed phrase (the *outer* one). - -4. **Bracketed Phrase with Nesting** - A bracketed phrase that contains one or more bracketed phrases. - - A bracketed phrase is “with nesting” only if it contains at least one inner bracketed phrase. In other words, non-quoted bracket punctuated phrases occurs inside the contents — not just commas or other punctuation. - - -**Examples** -In `sin(f(x) + (a))`, the phrase `(x)` is contained in `(f(x) (a))`, which in turn is contained in `sin(...)`. `(a) is also contained in`(f(x) (a))`. `(x)` is innermost. -`(a)` is also innermost. - -**Open Bracketed Phrases - -A bracketed phrase is **open** if it’s missing a matching opening or closing bracket. - -- **Open on the Right**: Has unmatched opening brackets (e.g., `(` but no `)`). -- **Open on the Left**: Has unmatched closing brackets (e.g., `)` but no preceding `(`). - -** 1D Box Analogy - -Think of each bracketed phrase like a **1D CSS box**: - -- The **opening and closing brackets** are the “borders.” -- **Margin (outside)**: By default, bracketed phrases have *no extra spacing* around their borders—unless another rule (like an operator or adjacent token) requires space. - Example: `f()()` is valid with no space, but `f () ()` is not. -- **Padding (inside)**: If a bracketed phrase is both - 1) outermost on a line, - 2) has nesting, - 3) and is not a Lisp s-expression, - then place **one space** immediately after the opening bracket and **one space** before the closing bracket. - -** Adjacency -When two bracketed phrases appear side by side (like `)(` or `}{`), there is *no space* between them. - -**Line by Line - -We apply bracket formatting on a line by line basis, thus not searching for opening, closing, or containing brackets beyond the given line of analysis. - - -* Commas - -The **comma rule** is one of the most distinctive and recognizable aspects of RT Code Formatting. - -1. **One space before the comma** (e.g., `a ,b`). -2. **No space after the comma** (e.g., `a ,b`). -3. **Line break before the comma when breaking lines**, but **no line break after the comma**. - -Examples: -#+BEGIN_SRC c -a -,b -#+END_SRC - -When function arguments get too long, break lines as follows: -#+BEGIN_SRC c -result = some_function( - first_argument - ,second_argument_with_longer_name - ,third_argument -); -#+END_SRC - -✔ **This ensures consistency and maintains readability.** - -* Short Stuff Rule - -For **`if`**, **`for`**, and **`while`** statements that introduce a *single-line* clause with no `else`, if the **condition and clause together fit within one line (≤40 characters)**, they should **remain on a single line without braces**. - -Example: -#+BEGIN_SRC c -if( x > 0 ) return x; -while( has_next() ) process_next(); -#+END_SRC - - diff --git "a/tool\360\237\226\211/env" b/tool/env similarity index 100% rename from "tool\360\237\226\211/env" rename to tool/env diff --git "a/tool_shared/bespoke\360\237\226\211/cat_w_fn" b/tool_shared/bespoke/cat_w_fn similarity index 100% rename from "tool_shared/bespoke\360\237\226\211/cat_w_fn" rename to tool_shared/bespoke/cat_w_fn diff --git "a/tool_shared/bespoke\360\237\226\211/env" b/tool_shared/bespoke/env similarity index 100% rename from "tool_shared/bespoke\360\237\226\211/env" rename to tool_shared/bespoke/env diff --git "a/tool_shared/bespoke\360\237\226\211/githolder" b/tool_shared/bespoke/githolder similarity index 100% rename from "tool_shared/bespoke\360\237\226\211/githolder" rename to tool_shared/bespoke/githolder diff --git "a/tool_shared/bespoke\360\237\226\211/version" b/tool_shared/bespoke/version similarity index 100% rename from "tool_shared/bespoke\360\237\226\211/version" rename to tool_shared/bespoke/version diff --git "a/tool_shared/bespoke\360\237\226\211/vl" b/tool_shared/bespoke/vl similarity index 100% rename from "tool_shared/bespoke\360\237\226\211/vl" rename to tool_shared/bespoke/vl diff --git "a/tool_shared/document\360\237\226\211/make_rm_na.txt" b/tool_shared/document/make_rm_na.txt similarity index 100% rename from "tool_shared/document\360\237\226\211/make_rm_na.txt" rename to tool_shared/document/make_rm_na.txt -- 2.20.1