Fix more lints + ci

This commit is contained in:
grant0417 2022-10-21 11:22:44 -07:00
parent c31250622f
commit d634d5f60d
No known key found for this signature in database
7 changed files with 198 additions and 62 deletions

View file

@ -63,6 +63,57 @@ jobs:
- name: Cache
uses: Swatinem/rust-cache@v1
name: clippy
runs-on: ${{matrix.os}}
strategy:
matrix:
build: [linux, macos]
include:
- build: linux
os: ubuntu-latest
rust: stable
target: x86_64-unknown-linux-musl
- build: macos
os: macos-latest
rust: stable
target: x86_64-apple-darwin
steps:
- name: Install dependencies (for Linux)
run: |
sudo apt-get install zsh
python3 -V
tmux -V
locale
if: runner.os == 'Linux'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
- name: Install dependencies (for MacOS)
run: |
brew install tmux
brew install zsh
python3 -V
tmux -V
locale
if: runner.os == 'macOS'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Install correct toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
target: ${{ matrix.target }}
override: true
components: clippy
- name: Clippy
run: cargo clippy
- name: Cache
uses: Swatinem/rust-cache@v1
rustfmt:
name: rustfmt
runs-on: ubuntu-latest

161
Cargo.lock generated
View file

@ -57,9 +57,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bumpalo"
version = "3.11.0"
version = "3.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
[[package]]
name = "cc"
version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
[[package]]
name = "cfg-if"
@ -90,9 +96,9 @@ dependencies = [
[[package]]
name = "clap"
version = "3.2.21"
version = "3.2.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ed5341b2301a26ab80be5cbdced622e80ed808483c52e45e3310a877d3b37d7"
checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750"
dependencies = [
"atty",
"bitflags",
@ -112,6 +118,16 @@ dependencies = [
"os_str_bytes",
]
[[package]]
name = "codespan-reporting"
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
dependencies = [
"termcolor",
"unicode-width",
]
[[package]]
name = "core-foundation-sys"
version = "0.8.3"
@ -129,7 +145,7 @@ dependencies = [
"crossbeam-deque",
"crossbeam-epoch",
"crossbeam-queue",
"crossbeam-utils 0.8.11",
"crossbeam-utils 0.8.12",
]
[[package]]
@ -149,7 +165,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils 0.8.11",
"crossbeam-utils 0.8.12",
]
[[package]]
@ -160,20 +176,19 @@ checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-epoch",
"crossbeam-utils 0.8.11",
"crossbeam-utils 0.8.12",
]
[[package]]
name = "crossbeam-epoch"
version = "0.9.10"
version = "0.9.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1"
checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348"
dependencies = [
"autocfg",
"cfg-if 1.0.0",
"crossbeam-utils 0.8.11",
"crossbeam-utils 0.8.12",
"memoffset",
"once_cell",
"scopeguard",
]
@ -184,7 +199,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cd42583b04998a5363558e5f9291ee5a5ff6b49944332103f251e7479a82aa7"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils 0.8.11",
"crossbeam-utils 0.8.12",
]
[[package]]
@ -200,12 +215,55 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
version = "0.8.11"
version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "cxx"
version = "1.0.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a"
dependencies = [
"cc",
"cxxbridge-flags",
"cxxbridge-macro",
"link-cplusplus",
]
[[package]]
name = "cxx-build"
version = "1.0.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827"
dependencies = [
"cc",
"codespan-reporting",
"once_cell",
"proc-macro2",
"quote",
"scratch",
"syn",
]
[[package]]
name = "cxxbridge-flags"
version = "1.0.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a"
[[package]]
name = "cxxbridge-macro"
version = "1.0.80"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
@ -313,9 +371,9 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
[[package]]
name = "env_logger"
version = "0.9.0"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272"
dependencies = [
"atty",
"humantime",
@ -341,9 +399,9 @@ dependencies = [
[[package]]
name = "getrandom"
version = "0.2.7"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
dependencies = [
"cfg-if 1.0.0",
"libc",
@ -373,18 +431,28 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
[[package]]
name = "iana-time-zone"
version = "0.1.48"
version = "0.1.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "237a0714f28b1ee39ccec0770ccb544eb02c9ef2c82bb096230eefcffa6468b0"
checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed"
dependencies = [
"android_system_properties",
"core-foundation-sys",
"iana-time-zone-haiku",
"js-sys",
"once_cell",
"wasm-bindgen",
"winapi",
]
[[package]]
name = "iana-time-zone-haiku"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
dependencies = [
"cxx",
"cxx-build",
]
[[package]]
name = "ident_case"
version = "1.0.1"
@ -418,9 +486,18 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
version = "0.2.132"
version = "0.2.135"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c"
[[package]]
name = "link-cplusplus"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369"
dependencies = [
"cc",
]
[[package]]
name = "log"
@ -518,9 +595,9 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.14.0"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0"
checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
[[package]]
name = "os_str_bytes"
@ -536,9 +613,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "proc-macro2"
version = "1.0.43"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
dependencies = [
"unicode-ident",
]
@ -572,7 +649,7 @@ checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
dependencies = [
"crossbeam-channel 0.5.6",
"crossbeam-deque",
"crossbeam-utils 0.8.11",
"crossbeam-utils 0.8.12",
"num_cpus",
]
@ -625,6 +702,12 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "scratch"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898"
[[package]]
name = "shlex"
version = "1.1.0"
@ -651,7 +734,7 @@ dependencies = [
"rayon",
"regex",
"shlex",
"time 0.3.14",
"time 0.3.15",
"timer",
"tuikit",
"unicode-width",
@ -666,9 +749,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "syn"
version = "1.0.99"
version = "1.0.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d"
dependencies = [
"proc-macro2",
"quote",
@ -703,18 +786,18 @@ checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16"
[[package]]
name = "thiserror"
version = "1.0.35"
version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c53f98874615aea268107765aa1ed8f6116782501d18e53d08b471733bea6c85"
checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.35"
version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8b463991b4eab2d801e724172285ec4195c650e8ec79b149e6c2a8e6dd3f783"
checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
dependencies = [
"proc-macro2",
"quote",
@ -743,9 +826,9 @@ dependencies = [
[[package]]
name = "time"
version = "0.3.14"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b"
checksum = "d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c"
dependencies = [
"libc",
"num_threads",
@ -776,9 +859,9 @@ dependencies = [
[[package]]
name = "unicode-ident"
version = "1.0.4"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
[[package]]
name = "unicode-width"

View file

@ -29,7 +29,7 @@ unicode-width = "0.1.9"
log = "0.4.17"
env_logger = "0.9.0"
time = "0.3.13"
clap = "3.2.17"
clap = "3.2.22"
tuikit = "0.4.6"
vte = "0.11.0"
fuzzy-matcher = "0.3.7"

View file

@ -389,7 +389,7 @@ fn real_main() -> Result<i32, std::io::Error> {
Ok(if output.selected_items.is_empty() { 1 } else { 0 })
}
fn parse_options<'a>(options: &'a ArgMatches) -> SkimOptions<'a> {
fn parse_options(options: &ArgMatches) -> SkimOptions<'_> {
SkimOptionsBuilder::default()
.color(options.values_of("color").and_then(|vals| vals.last()))
.min_height(options.values_of("min-height").and_then(|vals| vals.last()))

View file

@ -152,7 +152,7 @@ impl MatchEngine for FuzzyEngine {
let (score, matched_range) = matched_result.unwrap();
let begin = *matched_range.get(0).unwrap_or(&0);
let begin = *matched_range.first().unwrap_or(&0);
let end = *matched_range.last().unwrap_or(&0);
let item_len = item_text.len();

View file

@ -116,6 +116,7 @@ impl Previewer {
self
}
#[allow(clippy::too_many_arguments)]
pub fn on_item_change(
&mut self,
new_item_index: usize,
@ -134,6 +135,7 @@ impl Previewer {
(None, None) => false,
(None, Some(_)) => true,
(Some(_), None) => true,
#[allow(clippy::vtable_address_comparisons)]
(Some(prev), Some(new)) => !Arc::ptr_eq(prev, new),
};

View file

@ -10,8 +10,8 @@ use crate::theme::{ColorTheme, DEFAULT_THEME};
#[derive(Clone, Copy, PartialEq)]
enum QueryMode {
CMD,
QUERY,
Cmd,
Query,
}
pub struct Query {
@ -46,7 +46,7 @@ impl Query {
fz_query_before: Vec::new(),
fz_query_after: Vec::new(),
yank: Vec::new(),
mode: QueryMode::QUERY,
mode: QueryMode::Query,
base_cmd: String::new(),
replstr: "{}".to_string(),
query_prompt: "> ".to_string(),
@ -120,7 +120,7 @@ impl Query {
}
if options.interactive {
self.mode = QueryMode::CMD;
self.mode = QueryMode::Cmd;
}
if let Some(query_prompt) = options.prompt {
@ -137,8 +137,8 @@ impl Query {
pub fn in_query_mode(&self) -> bool {
match self.mode {
QueryMode::CMD => false,
QueryMode::QUERY => true,
QueryMode::Cmd => false,
QueryMode::Query => true,
}
}
@ -170,43 +170,43 @@ impl Query {
fn get_query(&mut self) -> String {
match self.mode {
QueryMode::QUERY => self.get_fz_query(),
QueryMode::CMD => self.get_cmd_query(),
QueryMode::Query => self.get_fz_query(),
QueryMode::Cmd => self.get_cmd_query(),
}
}
fn get_before(&self) -> String {
match self.mode {
QueryMode::CMD => self.cmd_before.iter().cloned().collect(),
QueryMode::QUERY => self.fz_query_before.iter().cloned().collect(),
QueryMode::Cmd => self.cmd_before.iter().cloned().collect(),
QueryMode::Query => self.fz_query_before.iter().cloned().collect(),
}
}
fn get_after(&self) -> String {
match self.mode {
QueryMode::CMD => self.cmd_after.iter().cloned().rev().collect(),
QueryMode::QUERY => self.fz_query_after.iter().cloned().rev().collect(),
QueryMode::Cmd => self.cmd_after.iter().cloned().rev().collect(),
QueryMode::Query => self.fz_query_after.iter().cloned().rev().collect(),
}
}
fn get_prompt(&self) -> &str {
match self.mode {
QueryMode::CMD => &self.cmd_prompt,
QueryMode::QUERY => &self.query_prompt,
QueryMode::Cmd => &self.cmd_prompt,
QueryMode::Query => &self.query_prompt,
}
}
fn get_query_ref(&mut self) -> (&mut Vec<char>, &mut Vec<char>) {
match self.mode {
QueryMode::QUERY => (&mut self.fz_query_before, &mut self.fz_query_after),
QueryMode::CMD => (&mut self.cmd_before, &mut self.cmd_after),
QueryMode::Query => (&mut self.fz_query_before, &mut self.fz_query_after),
QueryMode::Cmd => (&mut self.cmd_before, &mut self.cmd_after),
}
}
fn get_history_ref(&mut self) -> (&mut Vec<String>, &mut Vec<String>) {
match self.mode {
QueryMode::QUERY => (&mut self.fz_query_history_before, &mut self.fz_query_history_after),
QueryMode::CMD => (&mut self.cmd_history_before, &mut self.cmd_history_after),
QueryMode::Query => (&mut self.fz_query_history_before, &mut self.fz_query_history_after),
QueryMode::Cmd => (&mut self.cmd_history_before, &mut self.cmd_history_after),
}
}
@ -229,8 +229,8 @@ impl Query {
//
pub fn act_query_toggle_interactive(&mut self) {
self.mode = match self.mode {
QueryMode::QUERY => QueryMode::CMD,
QueryMode::CMD => QueryMode::QUERY,
QueryMode::Query => QueryMode::Cmd,
QueryMode::Cmd => QueryMode::Query,
}
}