feat: adjust project structure (#16)

This commit is contained in:
sigoden authored and GitHub committed 2024-06-05 18:37:52 +08:00
1 parent 7e3f47093f
commit 005d23030d
15 files changed
+19 -19

No files matched your search

+7 -7
View File
@@ -46,14 +46,14 @@ build-bin() {
for name in "${names[@]}"; do for name in "${names[@]}"; do
basename="${name%.*}" basename="${name%.*}"
lang="${name##*.}" lang="${name##*.}"
func_file="$lang/$name" func_file="tools/$lang/$name"
if [[ -f "$func_file" ]]; then if [[ -f "$func_file" ]]; then
if _is_win; then if _is_win; then
bin_file="$BIN_DIR/$basename.cmd" bin_file="$BIN_DIR/$basename.cmd"
_build_win_shim $lang > "$bin_file" _build_win_shim $lang > "$bin_file"
else else
bin_file="$BIN_DIR/$basename" bin_file="$BIN_DIR/$basename"
ln -s "$PWD/cmd/cmd.$lang" "$bin_file" ln -s "$PWD/run/tool.$lang" "$bin_file"
fi fi
else else
not_found_funcs+=("$name") not_found_funcs+=("$name")
@@ -85,7 +85,7 @@ build-declarations-json() {
build_failed_funcs=() build_failed_funcs=()
for name in "${names[@]}"; do for name in "${names[@]}"; do
lang="${name##*.}" lang="${name##*.}"
func_file="$lang/$name" func_file="tools/$lang/$name"
if [[ ! -f "$func_file" ]]; then if [[ ! -f "$func_file" ]]; then
not_found_funcs+=("$name") not_found_funcs+=("$name")
continue; continue;
@@ -112,7 +112,7 @@ build-single-declaration() {
func="$1" func="$1"
lang="${func##*.}" lang="${func##*.}"
cmd="$(_lang_to_cmd "$lang")" cmd="$(_lang_to_cmd "$lang")"
LLM_FUNCTION_ACTION=declarate "$cmd" "cmd/cmd.$lang" "$func" LLM_FUNCTION_ACTION=declarate "$cmd" "run/tool.$lang" "$func"
} }
# @cmd List functions that can be put into functions.txt # @cmd List functions that can be put into functions.txt
@@ -154,8 +154,8 @@ test-functions() {
echo "Test $cmd_path: $(cat)" echo "Test $cmd_path: $(cat)"
} }
if ! _is_win; then if ! _is_win; then
"$cmd" "cmd/cmd.$lang" "$func" "$data" | { "$cmd" "run/tool.$lang" "$func" "$data" | {
echo "Test $cmd cmd/cmd.$lang $func: $(cat)" echo "Test $cmd run/tool.$lang $func: $(cat)"
} }
fi fi
fi fi
@@ -242,7 +242,7 @@ _choice_func() {
lang="${item%:*}" lang="${item%:*}"
cmd="${item#*:}" cmd="${item#*:}"
if command -v "$cmd" &> /dev/null; then if command -v "$cmd" &> /dev/null; then
ls -1 $lang | grep "\.$lang$" ls -1 tools/$lang | grep "\.$lang$"
fi fi
done done
} }
+4 -4
View File
@@ -76,7 +76,7 @@ The project supports write functions in bash/js/python.
### Bash ### Bash
Create a new bashscript (.e.g. `may_execute_command.sh`) in the [./sh](./sh/) directory. Create a new bashscript in the [./tools/sh](./tools/sh/) directory (.e.g. `may_execute_command.sh`).
```sh ```sh
#!/usr/bin/env bash #!/usr/bin/env bash
@@ -109,7 +109,7 @@ The relationship between comment tags and parameters in function declarations is
### Javascript ### Javascript
Create a new javascript (.e.g. `may_execute_command.js`) in the [./js](./js/) directory. Create a new javascript in the [./tools/js](./tools/js/) directory (.e.g. `may_execute_command.js`).
```js ```js
exports.declarate = function declarate() { exports.declarate = function declarate() {
@@ -139,7 +139,7 @@ exports.execute = function execute(data) {
### Python ### Python
Create a new python script in the [./py](./py/) directory (e.g., `may_execute_py_code.py`). Create a new python script in the [./tools/py](./tools/py/) directory (e.g., `may_execute_py_code.py`).
```py ```py
def declarate(): def declarate():
@@ -167,7 +167,7 @@ def execute(data):
### Ruby ### Ruby
Create a new ruby script in the [./rb](./rb/) directory (e.g., `may_execute_rb_code.rb`). Create a new ruby script in the [./tools/rb](./tools/rb/) directory (e.g., `may_execute_rb_code.rb`).
```rb ```rb
def declarate def declarate
+2 -2
View File
@@ -6,7 +6,7 @@ function parseArgv() {
let func_file = process.argv[1]; let func_file = process.argv[1];
let func_data = null; let func_data = null;
if (func_file.endsWith("cmd.js")) { if (func_file.endsWith("tool.js")) {
func_file = process.argv[2] func_file = process.argv[2]
func_data = process.argv[3] func_data = process.argv[3]
} else { } else {
@@ -22,7 +22,7 @@ function parseArgv() {
} }
function loadFunc(func_file) { function loadFunc(func_file) {
const func_path = path.resolve(__dirname, `../js/${func_file}`) const func_path = path.resolve(__dirname, `../tools/js/${func_file}`)
try { try {
return require(func_path); return require(func_path);
} catch { } catch {
+2 -2
View File
@@ -9,7 +9,7 @@ def parse_argv():
func_file = sys.argv[0] func_file = sys.argv[0]
func_data = None func_data = None
if func_file.endswith("cmd.py"): if func_file.endswith("tool.py"):
func_file = sys.argv[1] if len(sys.argv) > 1 else None func_file = sys.argv[1] if len(sys.argv) > 1 else None
func_data = sys.argv[2] if len(sys.argv) > 2 else None func_data = sys.argv[2] if len(sys.argv) > 2 else None
else: else:
@@ -23,7 +23,7 @@ def parse_argv():
def load_func(func_file): def load_func(func_file):
base_dir = os.path.dirname(os.path.abspath(__file__)) base_dir = os.path.dirname(os.path.abspath(__file__))
func_path = os.path.join(base_dir, f"../py/{func_file}") func_path = os.path.join(base_dir, f"../tools/py/{func_file}")
if os.path.exists(func_path): if os.path.exists(func_path):
spec = importlib.util.spec_from_file_location(func_file, func_path) spec = importlib.util.spec_from_file_location(func_file, func_path)
module = importlib.util.module_from_spec(spec) module = importlib.util.module_from_spec(spec)
+2 -2
View File
@@ -7,7 +7,7 @@ def parse_argv
func_file = __FILE__ func_file = __FILE__
func_data = nil func_data = nil
if func_file.end_with?("cmd.rb") if func_file.end_with?("tool.rb")
func_file = ARGV[0] func_file = ARGV[0]
func_data = ARGV[1] func_data = ARGV[1]
else else
@@ -21,7 +21,7 @@ def parse_argv
end end
def load_func(func_file) def load_func(func_file)
func_path = File.expand_path("../rb/#{func_file}", __dir__) func_path = File.expand_path("../tools/rb/#{func_file}", __dir__)
begin begin
require func_path require func_path
+2 -2
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
if [[ "$0" == *cmd.sh ]]; then if [[ "$0" == *tool.sh ]]; then
FUNC_FILE="$1" FUNC_FILE="$1"
FUNC_DATA="$2" FUNC_DATA="$2"
else else
@@ -13,7 +13,7 @@ if [[ "$FUNC_FILE" != *'.sh' ]]; then
fi fi
PROJECT_DIR="$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd)" PROJECT_DIR="$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )/.." &> /dev/null && pwd)"
FUNC_FILE="$PROJECT_DIR/sh/$FUNC_FILE" FUNC_FILE="$PROJECT_DIR/tools/sh/$FUNC_FILE"
if [[ "$OS" == "Windows_NT" ]]; then if [[ "$OS" == "Windows_NT" ]]; then
FUNC_FILE="$(cygpath -w "$FUNC_FILE")" FUNC_FILE="$(cygpath -w "$FUNC_FILE")"
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.