diff --git a/.github/workflows/clippy.yml b/.github/workflows/clippy.yml new file mode 100644 index 0000000..d190465 --- /dev/null +++ b/.github/workflows/clippy.yml @@ -0,0 +1,14 @@ +on: push +name: Clippy check + +# Make sure CI fails on all warnings, including Clippy lints +env: + RUSTFLAGS: "-Dwarnings" + +jobs: + clippy_check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Run Clippy + run: cargo clippy --all-targets --all-features \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..9005581 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,31 @@ +name: Lint CI +on: [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: Setup | Checkout + uses: actions/checkout@v3 + + - name: Setup | Ubuntu dependencies + run: sudo apt install libasound2-dev libudev-dev pkg-config + + - name: Setup | Toolchain (clippy, rustfmt) + uses: dtolnay/rust-toolchain@stable + with: + components: clippy, rustfmt + + - uses: Swatinem/rust-cache@v2 + + - name: Lint | Clippy + - uses: actions-rs/cargo@v1 + with: + command: clippy + args: --all-targets --all-features -- -D warnings + + - name: Lint | Rustfmt + - uses: actions-rs/cargo@v1 + with: + command: fmt + args: --all -- --check \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..47083f7 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,9 @@ +[workspace] +members = ["src-tauri"] + +# fix: mac v1.2.0 can not copy/paste +# https://github.com/tauri-apps/tauri/issues/5669 +[profile.release] +strip = true +lto = true +opt-level = "s" diff --git a/src-tauri/rustfmt.toml b/rustfmt.toml similarity index 100% rename from src-tauri/rustfmt.toml rename to rustfmt.toml diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 3d2132f..cbf996f 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -40,10 +40,3 @@ default = [ "custom-protocol" ] # this feature is used used for production builds where `devPath` points to the filesystem # DO NOT remove this custom-protocol = [ "tauri/custom-protocol" ] - -# fix: mac v1.2.0 can not copy/paste -# https://github.com/tauri-apps/tauri/issues/5669 -[profile.release] -strip = true -lto = true -opt-level = "s" diff --git a/src-tauri/src/app/window.rs b/src-tauri/src/app/window.rs index 1b34874..990e7b3 100644 --- a/src-tauri/src/app/window.rs +++ b/src-tauri/src/app/window.rs @@ -42,10 +42,7 @@ pub fn dalle2_window( let app = handle.clone(); let query = if query.is_some() { - format!( - "window.addEventListener('DOMContentLoaded', function() {{\nwindow.__CHATGPT_QUERY__='{}';\n}})", - query.unwrap() - ) + format!("window.addEventListener('DOMContentLoaded', function() {{\nwindow.__CHATGPT_QUERY__='{}';\n}})", query.unwrap()) } else { "".to_string() }; diff --git a/src-tauri/src/utils.rs b/src-tauri/src/utils.rs index 63cd7dd..d0735c9 100644 --- a/src-tauri/src/utils.rs +++ b/src-tauri/src/utils.rs @@ -44,7 +44,14 @@ pub fn script_path() -> PathBuf { let script_file = chat_root().join("main.js"); if !exists(&script_file) { create_file(&script_file).unwrap(); - fs::write(&script_file, format!("// *** ChatGPT User Script ***\n// @github: https://github.com/lencx/ChatGPT \n// @path: {}\n\nconsole.log('🤩 Hello ChatGPT!!!');", &script_file.to_string_lossy())).unwrap(); + fs::write( + &script_file, + format!( + "// *** ChatGPT User Script ***\n// @github: https://github.com/lencx/ChatGPT \n// @path: {}\n\nconsole.log('🤩 Hello ChatGPT!!!');", + &script_file.to_string_lossy() + ), + ) + .unwrap(); } script_file