Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
31a7f70
added partial solution
razvanrus2003 Jan 20, 2024
f63bcdb
better highlight length getter (using unicode_width)
razvanrus2003 Jan 20, 2024
7df0d7a
finnished coding style
razvanrus2003 Jan 20, 2024
755da5a
fixed warnings
razvanrus2003 Jan 21, 2024
57268a2
Lines optimization (#280)
razvanrus2003 Jan 22, 2024
c919b27
add auzkok as contributor for syntax-highlighting (#278)
ilai-deutel Jan 22, 2024
991dc7b
[CI] Fail on Clippy error (#283)
ilai-deutel Jan 22, 2024
945b3e6
Merge branch 'master' into utf8_prompts
ilai-deutel Jan 22, 2024
8966c46
[CI] Actually fail on Clippy error (#284)
ilai-deutel Jan 22, 2024
1eeaab1
Bump libc from 0.2.152 to 0.2.153 (#286)
dependabot[bot] Feb 18, 2024
596945d
Bump tempfile from 3.9.0 to 3.10.0 (#289)
dependabot[bot] Feb 18, 2024
a22a3bd
Bump tempfile from 3.9.0 to 3.10.0 in /fuzz (#288)
dependabot[bot] Feb 18, 2024
3d8e309
Bump tempfile from 3.10.0 to 3.10.1 in /fuzz (#290)
dependabot[bot] Sep 22, 2024
230184c
Bump tempfile from 3.10.0 to 3.10.1 (#291)
dependabot[bot] Sep 22, 2024
18a314d
Bump unicode-width from 0.1.11 to 0.1.12 (#294)
dependabot[bot] Sep 22, 2024
42b1ef2
Bump winapi-util from 0.1.6 to 0.1.8 (#295)
dependabot[bot] Sep 22, 2024
a1573de
Bump libc from 0.2.153 to 0.2.155 (#297)
dependabot[bot] Sep 22, 2024
e08fcc4
Bump libc from 0.2.155 to 0.2.158 (#301)
dependabot[bot] Sep 23, 2024
306b115
Bump tempfile from 3.10.1 to 3.12.0 in /fuzz (#299)
dependabot[bot] Sep 23, 2024
8c607d6
Bump winapi-util from 0.1.8 to 0.1.9 (#302)
dependabot[bot] Sep 23, 2024
d0b3aee
Bump libc from 0.2.158 to 0.2.159 (#303)
dependabot[bot] Oct 2, 2024
132baa1
Bump tempfile from 3.12.0 to 3.13.0 in /fuzz (#304)
dependabot[bot] Oct 2, 2024
44bf29a
Bump MSRV to Rust 1.65.0 (#306)
ilai-deutel Oct 13, 2024
da51e37
Bump serial_test from 3.0.0 to 3.1.1 (#293)
dependabot[bot] Oct 13, 2024
06bba14
But MSRV to 1.66.0 (#307)
ilai-deutel Oct 13, 2024
4e23384
Bump unicode-width from 0.1.12 to 0.2.0 (#300)
dependabot[bot] Oct 14, 2024
6ebc9ea
[CI] Migrate WASI targets (#316)
ilai-deutel Nov 13, 2024
d14a358
[CI] Upgrade code coverage generation (#317)
ilai-deutel Nov 13, 2024
dba0a6e
Bump tempfile from 3.10.1 to 3.13.0 (#309)
dependabot[bot] Nov 13, 2024
03e18a3
Bump tempfile from 3.13.0 to 3.14.0 in /fuzz (#315)
dependabot[bot] Nov 13, 2024
6d8a48d
Bump libfuzzer-sys from 0.4.7 to 0.4.8 in /fuzz (#314)
dependabot[bot] Nov 13, 2024
7261e69
Bump libc from 0.2.159 to 0.2.162 (#313)
dependabot[bot] Nov 13, 2024
40e91ef
Bump serial_test from 3.1.1 to 3.2.0 (#312)
dependabot[bot] Nov 13, 2024
591aa3a
Use alternate screen (#310)
malbarbo Nov 13, 2024
7684d28
[CI] Upgrade action versions (#319)
ilai-deutel Nov 13, 2024
a616ced
add Jan9103 as a contributor for code (#318)
allcontributors[bot] Nov 13, 2024
657cb4d
Update rusfmt config and fix associated clippy errors (#321)
ilai-deutel Nov 13, 2024
f989f6f
Update README.md - HelloGitHub claim
ilai-deutel Nov 13, 2024
5297230
add joshka as a contributor for infra (#324)
allcontributors[bot] Nov 13, 2024
e33d26f
fix: crash when opening a new file (#287)
Jan9103 Nov 14, 2024
cb13bce
[CI] Configure secret token for reviewdog (#332)
ilai-deutel Nov 14, 2024
be558cf
[Clippy] Check in config, update CI (#333)
ilai-deutel Nov 14, 2024
cce6e93
Combine mod xdg with cfg(any) (LOC -= 1) (#335)
ilai-deutel Nov 14, 2024
1422e1e
[Clippy] Add nursery-level warnings, fix issues found (#334)
ilai-deutel Nov 15, 2024
4f0d79c
Fix formatting and Clippy workflows outside of pull requests (#336)
ilai-deutel Nov 15, 2024
b7167e7
Replace Key::Page(PageKey) with Key::Page{Up,Down} (#331)
joshka Nov 15, 2024
cc7ec3a
add joshka as a contributor for code (#337)
allcontributors[bot] Nov 15, 2024
e02145f
Add vscode settings for using nightly rustfmt (#329)
joshka Nov 15, 2024
d3a4843
[CI] Update security workflows, add cargo-deny, deprecate cargo-audit…
ilai-deutel Nov 17, 2024
50944c6
Fix config parsing with invalid durations (#340)
ilai-deutel Nov 18, 2024
aa31bf9
Bump MSRV to 1.80 (#343)
ilai-deutel Nov 18, 2024
b5dcbf5
[Tests] Remove dependency on serial_test, use Mutex instead (#341)
ilai-deutel Nov 18, 2024
c24668b
Fix markdownlint errors in README.md
ilai-deutel Nov 18, 2024
cf2dc81
Delete .github/workflows/devskim.yml
ilai-deutel Nov 18, 2024
2b9aa5d
Add weekly sanitizer run to CI (#342)
ilai-deutel Nov 18, 2024
2a5840e
[CI] Temporarily stop using mbrobbel/rustfmt-check
ilai-deutel Nov 19, 2024
edcba19
Use module paths instead of conditional module includes for sys modul…
joshka Nov 19, 2024
d9db901
Replace count_loc.sh with xtask (#328)
joshka Nov 20, 2024
5eff635
[xtask] Add more info to Cargo.toml (#344)
ilai-deutel Nov 24, 2024
382b422
Fix lint config for main crate
ilai-deutel Nov 24, 2024
7456225
Remove obsolete TODO
ilai-deutel Nov 26, 2024
7bedad6
Add more lints to check and clippy configuration (#345)
ilai-deutel Nov 26, 2024
a03e7c2
feat: enable LTO (#346)
zamazan4ik Nov 27, 2024
9f0cf2c
add zamazan4ik as a contributor for infra (#347)
allcontributors[bot] Nov 27, 2024
1628b51
Adding test for home + end keys (#311)
BanuAdrian Nov 27, 2024
fa5b32a
add BanuAdrian as a contributor for test (#320)
allcontributors[bot] Nov 27, 2024
0748dbe
Merge branch 'master' into utf8_prompts
ilai-deutel Dec 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,52 @@
"contributions": [
"test"
]
},
{
"login": "auzkok",
"name": "auzkok",
"avatar_url": "https://avatars.githubusercontent.com/u/35302680?v=4",
"profile": "https://github.com/auzkok",
"contributions": [
"syntax-highlighting"
]
},
{
"login": "Jan9103",
"name": "Jan9103",
"avatar_url": "https://avatars.githubusercontent.com/u/55753387?v=4",
"profile": "https://github.com/Jan9103",
"contributions": [
"code"
]
},
{
"login": "joshka",
"name": "Josh McKinney",
"avatar_url": "https://avatars.githubusercontent.com/u/381361?v=4",
"profile": "http://joshka.net",
"contributions": [
"infra",
"code"
]
},
{
"login": "zamazan4ik",
"name": "Alexander Zaitsev",
"avatar_url": "https://avatars.githubusercontent.com/u/7355383?v=4",
"profile": "https://zamazan4ik.github.io",
"contributions": [
"infra"
]
},
{
"login": "BanuAdrian",
"name": "Adrian Banu",
"avatar_url": "https://avatars.githubusercontent.com/u/66678108?v=4",
"profile": "https://github.com/BanuAdrian",
"contributions": [
"test"
]
}
],
"commitType": "docs"
Expand Down
2 changes: 2 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[alias]
xtask = "run --package xtask --"
17 changes: 0 additions & 17 deletions .github/workflows/audit.yml

This file was deleted.

124 changes: 76 additions & 48 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,15 @@ on:
push:
branches:
- master
paths:
- "**.rs"
- ".github/workflows/ci.yml"
pull_request:
branches:
- master
paths:
- "**.rs"
- ".github/workflows/ci.yml"

env:
CARGO_TERM_COLOR: always
Expand Down Expand Up @@ -38,87 +44,95 @@ jobs:

# WASI
- os: ubuntu-latest
target: wasm32-wasi
target: wasm32-wasip1

# MSRV (Linux)
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
toolchain: 1.64.0
toolchain: "1.80"
# MSRV (MacOS)
- os: macos-latest
target: x86_64-apple-darwin
toolchain: 1.64.0
toolchain: "1.80"
# MSRV (Windows)
- os: windows-latest
target: x86_64-pc-windows-gnu
toolchain: 1.64.0
toolchain: "1.80"
# MSRV (WASI)
- os: ubuntu-latest
target: wasm32-wasi
toolchain: 1.64.0
toolchain: "1.80"

runs-on: ${{ matrix.os }}

env:
RUSTFLAGS: "-D warnings"

steps:
- uses: actions/checkout@v4
- name: Install gcc-multilib
if: matrix.target == 'i686-unknown-linux-gnu'
run: |
sudo apt-get update
sudo apt-get install gcc-multilib
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain || 'stable' }}
targets: ${{ matrix.target }}
- name: Build
run: cargo build
- name: Run tests
run: cargo test --verbose --all-features --no-fail-fast

build_and_test_nightly_with_coverage:
strategy:
matrix:
include:
# Nightly (Linux)
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
toolchain: nightly
coverage: true
# Nightly (MacOS)
- os: macos-latest
target: x86_64-apple-darwin
toolchain: nightly
coverage: true
# Nightly (Windows)
- os: windows-latest
target: x86_64-pc-windows-gnu
toolchain: nightly
coverage: true
# Nightly (WASI)
- os: ubuntu-latest
target: wasm32-wasi
toolchain: nightly
coverage: true
target: wasm32-wasip1

runs-on: ${{ matrix.os }}

env:
RUSTFLAGS: -D warnings
RUSTFLAGS: "-D warnings -C instrument-coverage"

steps:
- uses: actions/checkout@v4
- name: Install gcc-multilib
if: matrix.target == 'i686-unknown-linux-gnu'
run: |
sudo apt-get update
sudo apt-get install gcc-multilib
- name: Install Rust toolchain
run: |
rustup toolchain install ${{ matrix.toolchain || 'stable' }}
rustup override set ${{ matrix.toolchain || 'stable' }}
rustup target add --toolchain ${{ matrix.toolchain || 'stable' }} ${{ matrix.target }}
rustup toolchain install nightly --component llvm-tools-preview --allow-downgrade
rustup override set nightly
rustup target add --toolchain nightly ${{ matrix.target }}
- name: Build
run: cargo build
- name: Run tests without coverage instrumentation
if: ${{ ! matrix.coverage }}
run: cargo test --verbose --all-features --no-fail-fast
- name: Run tests with coverage instrumentation
if: matrix.coverage
run: cargo test --verbose --all-features --no-fail-fast
env:
CARGO_INCREMENTAL: '0'
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
LLVM_PROFILE_FILE: "kibi-%p-%m.profraw"
- name: Collect code coverage results
if: matrix.coverage
uses: actions-rs/grcov@v0.1
id: coverage
run: |
cargo install grcov
grcov . --binary-path ./target/debug/ --source-dir . --output-types lcov --branch --output-path lcov.info --keep-only 'src/*'
- name: Upload code coverage results
if: matrix.coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
files: ${{ steps.coverage.outputs.report }}
files: lcov.info
flags: ${{ matrix.target }}
fail_ci_if_error: false
verbose: true
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

static_checks:
strategy:
Expand All @@ -138,22 +152,36 @@ jobs:

# WASI
- os: ubuntu-latest
target: wasm32-wasi
target: wasm32-wasip1

runs-on: ${{ matrix.os }}

permissions:
pull-requests: write
checks: write

steps:
- uses: actions/checkout@v4
- name: Install nightly with clippy and rustfmt
run: |
rustup toolchain install nightly --component rustfmt --component clippy --allow-downgrade
rustup override set nightly
rustup target add --toolchain nightly ${{ matrix.target }}
- name: Run rustfmt check
run: cargo fmt --check
- name: Run Clippy
uses: giraffate/clippy-action@v1
uses: dtolnay/rust-toolchain@nightly
with:
clippy_flags: --all-features --target ${{ matrix.target }} -- -D warnings -D clippy::pedantic
tool_name: clippy-${{ matrix.target }}
reporter: github-pr-review
targets: ${{ matrix.target }}
components: rustfmt, clippy
- name: Format
if: ${{ matrix.target == 'x86_64-unknown-linux-gnu' }}
run: cargo fmt --check --all
- name: Set up cargo-action-fmt
if: ${{ github.event_name == 'pull_request' && matrix.target == 'x86_64-unknown-linux-gnu' }}
uses: olix0r/cargo-action-fmt/setup@v2
- name: Check
if: ${{ github.event_name == 'pull_request' && matrix.target == 'x86_64-unknown-linux-gnu' }}
run: cargo check --all-features --all-targets --workspace --target ${{ matrix.target }} -q --message-format=json | cargo-action-fmt
- name: Check
if: ${{ github.event_name != 'pull_request' || matrix.target != 'x86_64-unknown-linux-gnu' }}
run: cargo check --all-features --all-targets --workspace --target ${{ matrix.target }}
- name: Clippy
if: ${{ github.event_name == 'pull_request' && matrix.target == 'x86_64-unknown-linux-gnu' }}
run: cargo clippy --all-features --all-targets --workspace --target ${{ matrix.target }} -q --message-format=json | cargo-action-fmt
- name: Clippy
if: ${{ github.event_name != 'pull_request' || matrix.target != 'x86_64-unknown-linux-gnu' }}
run: cargo clippy --all-features --all-targets --workspace --target ${{ matrix.target }}
16 changes: 6 additions & 10 deletions .github/workflows/loc.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
on:
pull_request:
paths:
- '**.rs'
- 'count_loc.sh'
- '.github/workflows/loc.yml'
- "**.rs"
- ".github/workflows/loc.yml"

name: 'LOC'
name: LOC

jobs:

check_lines_of_code:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Install tokei
run: cargo install tokei
- name: Install rust
uses: dtolnay/rust-toolchain@stable
- name: Check LOC <= 1024
run: ./count_loc.sh
run: cargo xtask count-loc
57 changes: 57 additions & 0 deletions .github/workflows/sanitizers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Sanitizers

on:
pull_request:
branches:
- master
paths:
- '.github/workflows/sanitizers.yml'
schedule:
- cron: '12 07 * * 2' # weekly on Tuesday

jobs:
sanitizers:
strategy:
matrix:
sanitizer:
- address
- leak
- memory
- safestack
- thread
target:
- x86_64-unknown-linux-gnu
- x86_64-apple-darwin
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-apple-darwin
os: macos-latest
- sanitizer: memory
extra_flags: -Zsanitizer-memory-track-origins
exclude:
# LeakSanitizer is not supported on MacOS
- sanitizer: leak
target: x86_64-apple-darwin
# MemorySanitizer is not supported on MacOS
- sanitizer: memory
target: x86_64-apple-darwin
# Safestack is not supported on MacOS
- sanitizer: safestack
target: x86_64-apple-darwin


runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
with:
targets: ${{ matrix.target }}
components: rust-src
- name: Run tests with sanitizer
run: cargo test -Zbuild-std --verbose --all-features --no-fail-fast --target ${{ matrix.target }}
env:
RUSTFLAGS: -D warnings -Zsanitizer=${{ matrix.sanitizer }} ${{ matrix.extra_flags }}
RUSTDOCFLAGS: -Zsanitizer=${{ matrix.sanitizer }} ${{ matrix.extra_flags }}
19 changes: 14 additions & 5 deletions .github/workflows/devskim.yml → .github/workflows/security.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: DevSkim
name: Security

on:
push:
Expand All @@ -8,12 +8,12 @@ on:
branches:
- master
schedule:
- cron: '25 16 * * 1'
- cron: '22 17 * * 5'

jobs:
lint:
dev-skim:
name: DevSkim
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
Expand All @@ -26,6 +26,15 @@ jobs:
uses: microsoft/DevSkim-Action@v1

- name: Upload DevSkim scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v1
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: devskim-results.sarif
cargo-deny:
name: Cargo Deny
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v1
with:
command-arguments: -D warnings

Loading