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
basename="${name%.*}"
lang="${name##*.}"
func_file="$lang/$name"
func_file="tools/$lang/$name"
if [[ -f "$func_file" ]]; then
if _is_win; then
bin_file="$BIN_DIR/$basename.cmd"
_build_win_shim $lang > "$bin_file"
else
bin_file="$BIN_DIR/$basename"
ln -s "$PWD/cmd/cmd.$lang" "$bin_file"
ln -s "$PWD/run/tool.$lang" "$bin_file"
fi
else
not_found_funcs+=("$name")
@@ -85,7 +85,7 @@ build-declarations-json() {
build_failed_funcs=()
for name in "${names[@]}"; do
lang="${name##*.}"
func_file="$lang/$name"
func_file="tools/$lang/$name"
if [[ ! -f "$func_file" ]]; then
not_found_funcs+=("$name")
continue;
@@ -112,7 +112,7 @@ build-single-declaration() {
func="$1"
lang="${func##*.}"
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
@@ -154,8 +154,8 @@ test-functions() {
echo "Test $cmd_path: $(cat)"
}
if ! _is_win; then
"$cmd" "cmd/cmd.$lang" "$func" "$data" | {
echo "Test $cmd cmd/cmd.$lang $func: $(cat)"
"$cmd" "run/tool.$lang" "$func" "$data" | {
echo "Test $cmd run/tool.$lang $func: $(cat)"
}
fi
fi
@@ -242,7 +242,7 @@ _choice_func() {
lang="${item%:*}"
cmd="${item#*:}"
if command -v "$cmd" &> /dev/null; then
ls -1 $lang | grep "\.$lang$"
ls -1 tools/$lang | grep "\.$lang$"
fi
done
}
+4 -4
View File
@@ -76,7 +76,7 @@ The project supports write functions in bash/js/python.
### 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
#!/usr/bin/env bash
@@ -109,7 +109,7 @@ The relationship between comment tags and parameters in function declarations is
### 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
exports.declarate = function declarate() {
@@ -139,7 +139,7 @@ exports.execute = function execute(data) {
### 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
def declarate():
@@ -167,7 +167,7 @@ def execute(data):
### 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
def declarate
+2 -2
View File
@@ -6,7 +6,7 @@ function parseArgv() {
let func_file = process.argv[1];
let func_data = null;
if (func_file.endsWith("cmd.js")) {
if (func_file.endsWith("tool.js")) {
func_file = process.argv[2]
func_data = process.argv[3]
} else {
@@ -22,7 +22,7 @@ function parseArgv() {
}
function loadFunc(func_file) {
const func_path = path.resolve(__dirname, `../js/${func_file}`)
const func_path = path.resolve(__dirname, `../tools/js/${func_file}`)
try {
return require(func_path);
} catch {
+2 -2
View File
@@ -9,7 +9,7 @@ def parse_argv():
func_file = sys.argv[0]
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_data = sys.argv[2] if len(sys.argv) > 2 else None
else:
@@ -23,7 +23,7 @@ def parse_argv():
def load_func(func_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):
spec = importlib.util.spec_from_file_location(func_file, func_path)
module = importlib.util.module_from_spec(spec)
+2 -2
View File
@@ -7,7 +7,7 @@ def parse_argv
func_file = __FILE__
func_data = nil
if func_file.end_with?("cmd.rb")
if func_file.end_with?("tool.rb")
func_file = ARGV[0]
func_data = ARGV[1]
else
@@ -21,7 +21,7 @@ def parse_argv
end
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
require func_path
+2 -2
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -e
if [[ "$0" == *cmd.sh ]]; then
if [[ "$0" == *tool.sh ]]; then
FUNC_FILE="$1"
FUNC_DATA="$2"
else
@@ -13,7 +13,7 @@ if [[ "$FUNC_FILE" != *'.sh' ]]; then
fi
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
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.