feat: adjust project structure (#16)
This commit is contained in:
+7
-7
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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")"
|
||||
Reference in New Issue
Block a user