Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
02306b8
Update manpage and append -- to hstr calls
jakedane Apr 20, 2023
5add5b9
Merge branch 'master' into dev-3.2.0
dvorka May 9, 2025
d74ca1d
refactor(copyright): :recycle: 2025 > 2026
dvorka Jan 23, 2026
fe04073
fix(completion): :bug: adding missing bash completion (#545)
happylynx Jan 24, 2026
b476bf6
feat(tiocsti): ✨ adding interactive "TIOCSTI not configured" warning …
dvorka Jan 25, 2026
d79ea5e
build(makefile): vibe
dvorka Jan 26, 2026
4376a2c
bug(views): fixing buffer overflow vulnerability in HSTR that caused …
dvorka Jan 26, 2026
25c776f
build(version): :building_construction: updating version timestamp
dvorka Jan 26, 2026
66dacf3
fix(signals): :bug: adding handling of SIGQUIT sent with Ctrl-\ #508
dvorka Jan 26, 2026
d043726
doc(changelog): polishing changelog
dvorka Jan 26, 2026
9eddd2a
test(memleaks):
dvorka Jan 26, 2026
7333a47
test(memleaks): improving valgrind command
dvorka Jan 26, 2026
2864e1b
build(version): updating release timestamp
dvorka Jan 28, 2026
a158564
build: :building_construction: updating control files & polishing doc…
dvorka Jan 28, 2026
694a584
build(ubuntu): :building_construction: improving Ubuntu Launchpad rel…
dvorka Jan 28, 2026
7402d39
docs(install): :memo: updating installation instructions - TIOCSTI
dvorka Jan 28, 2026
6c5f186
doc(web): adding website
dvorka Feb 3, 2026
a1f5153
doc(web): polishing footer
dvorka Feb 3, 2026
46b3b6e
doc(readme): compacting packages to 3 columns
dvorka Feb 3, 2026
6adc864
doc(readme): compacting packages to 4 columns
dvorka Feb 3, 2026
4a44a7a
doc(readme): adding TUI
dvorka Feb 3, 2026
e9178a2
docs(web): :memo: polishing website
dvorka Feb 6, 2026
d56bb1c
refactor(build): :recycle: renaming stop motion scripts
dvorka Feb 6, 2026
690dddf
build(make): polishing Makefile
dvorka Feb 6, 2026
7eb8f1a
Merge branch 'dev-3.2.0' of github.com:dvorka/hstr into dev-3.2.0
dvorka Feb 6, 2026
88b6f8d
build(ubuntu): :construction_worker: improving ubuntu release script
dvorka Feb 6, 2026
465f8db
fix(search): 🐛 fixing undesired " on insert of the patter w/ whitespa…
dvorka Feb 6, 2026
be35555
Merge branch 'dev-3.2.0' of github.com:dvorka/hstr into dev-3.2.0
dvorka Feb 6, 2026
cfdb03d
build(ubuntu): :construction_worker: fixing ubuntu launchpad script
dvorka Feb 6, 2026
4ecd398
build(releng): :construction_worker: improving release scripts for Ub…
dvorka Feb 6, 2026
7b1fbaa
docs(md): :memo: proofread / grammar fixes
dvorka Feb 6, 2026
e15f22d
docs(man): :memo: proofread / grammar fixes
dvorka Feb 6, 2026
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
58 changes: 58 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Copilot instructions

This document provides instructions to the copilot AI assistants and agents.

## General instructions

- Write beautiful code.
- Handle for errors, and exceptions and corner cases.
Comment thread
dvorka marked this conversation as resolved.
- Do good and don't be evil.

## Functional architecture instructions

- This repository is a repo of a TUI based application for the completion from the Bash or Zsh history.

## Technology stack instructions

- Frontend: ncurses.
- Backend: C.

## Backend code instructions

- Application backend is written in C.
- Always start comments you generate with lowercase letter.

## Security instructions

- ALWAYS follow security best practices.
- NEVER log form data that may contain sensitive information.
- ALWAYS consider overflow and memory corruption issues when writing C code.

## Backend code quality instructions

- NEVER use hacks or workarounds to make tests pass - always write clean, production-quality code.
- NEVER modify production code with ugly hacks just to make tests work - fix tests properly or remove them.
- ALWAYS follow clean code principles.

## Frontend instructions

- Application frontend is written in NCurses.

## Test instructions

- Test code is stored in the `tests/src` directory.
- Use `valgrind` to check for memory leaks and memory corruption issues after code changes.
- Tests can be run with `cd build && make test`.
- Write backend tests for all bugs being fixed.
- Use https://github.com/ThrowTheSwitch/Unity framework for testing.
- Each test (function) is structured into 3 sections: // GIVEN, // WHEN, and // THEN. // GIVEN section prepares the data, // WHEN section performs the actual test, and // THEN section asserts, checks and prints the results.
- Use `DONE` instead of emoji character ✓ (do not use emoji/unicode characters, use the text inside)

## Build instructions

- The project is built with `automake` and `make`.
- You can use `cd build && make build` to build the project.

## Documentation instructions

- ALWAY document new features in the man page located in the `man/` directory.
Comment thread
dvorka marked this conversation as resolved.
6 changes: 3 additions & 3 deletions .github/workflows/build_ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ on: [push]

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive

- name: Install packages
run: sudo apt-get update && sudo apt install -y build-essential qt5-default qt5-qmake ccache libncursesw5-dev libreadline-dev
- name: Install packages for Ubuntu 24.04
run: sudo apt-get update && sudo apt install -y build-essential qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools ccache libncursesw5-dev libreadline-dev

- name: Build lib and run unit tests using Unity test framework
run: cd test && qmake hstr-unit-tests.pro && make clean all && ./hstr-unit-tests
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
/autom4te.cache/
/aclocal.m4
/confdefs.h
/compile
/config.guess
/config.log
/config.status
/config.sub
/configure
/configure~
/depcomp
/install-sh
/missing
/src/hstr
/src/hh
.deps/
.vscode
Makefile
/Makefile
/man/Makefile
/src/Makefile
/test/Makefile
Makefile.in
*.o
*.pro.user
Expand All @@ -32,3 +37,4 @@ test/hstr-unit-tests
/hstr.pro.user*
*.stash
*.save
/.vibe
14 changes: 7 additions & 7 deletions CONFIGURATION.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Configuration
Get most of HSTR by configuring it with:
Get the most out of HSTR by configuring it with:

```bash
# bash
Expand Down Expand Up @@ -147,7 +147,7 @@ To show the prompt at the bottom of the screen (instead at the top) use:
export HSTR_CONFIG=prompt-bottom
```

To show the basic help and history help labels on the opposite site (instead of next to the prompt) use:
To show the basic help and history help labels on the opposite side (instead of next to the prompt) use:

```bash
export HSTR_CONFIG=help-on-opposite-side
Expand Down Expand Up @@ -213,8 +213,8 @@ export HSTR_CONFIG=duplicates
```

### Static favorites
Last selected favorite command is put the head of favorite commands list
by default. If you want to disable this behavior and make favorite
Last selected favorite command is put at the head of the favorite commands list
by default. If you want to disable this behavior and make the favorite
commands list static, then use the following configuration:

```bash
Expand All @@ -238,7 +238,7 @@ to `HSTR_CONFIG` environment variable:
export HSTR_CONFIG=blacklist
```

Commands to be stored in `~/.hstr_blacklist` file with trailing empty line. For instance:
Commands are to be stored in `~/.hstr_blacklist` file with a trailing empty line. For instance:

```
cd
Expand Down Expand Up @@ -293,7 +293,7 @@ export HSTR_CONFIG=keywords-matching,hicolor,debug
```

## Bash History Settings
Use the following `bash` settings to get most out of HSTR.
Use the following `bash` settings to get the most out of HSTR.

Increase the size of history maintained by `bash` - variables defined below
increase the number of history items and history file size (default value is 500):
Expand Down Expand Up @@ -331,4 +331,4 @@ If you use `zsh`, set `HISTFILE` environment variable in `~/.zshrc`:
export HISTFILE=~/.zsh_history
```

Please check your system configuration - history might be store in `~/.zsh_history`, `~/.zhistory` or other file.
Please check your system configuration - history might be stored in `~/.zsh_history`, `~/.zhistory` or other file.
Loading