Compare commits
3 commits
main
...
5-make-use
Author | SHA1 | Date | |
---|---|---|---|
31dea58782 | |||
525a379564 | |||
250fb36146 |
5 changed files with 27 additions and 21 deletions
|
@ -14,6 +14,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Multiple command options can be combined
|
- Multiple command options can be combined
|
||||||
|
- (!) History uses `XDG_STATE_HOME` directory by default:
|
||||||
|
This constitutes a break in behavior if you relied a lot on your pick history in the default
|
||||||
|
location. To retain your old history file, simply move it from the old cache directory
|
||||||
|
(`~/.cache/bemoji-history.txt` by default) to the new one (`~/.local/state/bemoji-history.txt`
|
||||||
|
by default).
|
||||||
|
- (!) `XDG_CACHE_LOCATION` renamed to `XDG_HISTORY_LOCATION` to better signify its purpose
|
||||||
|
|
||||||
<!-- ### Deprecated -->
|
<!-- ### Deprecated -->
|
||||||
|
|
||||||
|
|
|
@ -144,14 +144,14 @@ If you don't wish those to show up, make use of these options.
|
||||||
|
|
||||||
### Setting custom directories
|
### Setting custom directories
|
||||||
|
|
||||||
By default bemoji stores your recent history in `$XDG_CACHE_HOME/bemoji-history.txt`,
|
By default bemoji stores your recent history in `$XDG_STATE_HOME/bemoji-history.txt`,
|
||||||
so most often in `~/.cache/bemoji-history.txt`
|
so most often in `~/.local/state/bemoji-history.txt`
|
||||||
|
|
||||||
You can overwrite the directories bemoji uses for its emoji lists and history files with the following two environment variables:
|
You can overwrite the directories bemoji uses for its emoji lists and history files with the following two environment variables:
|
||||||
|
|
||||||
```
|
```
|
||||||
BEMOJI_DB_LOCATION=/path/to/my/emoji/directory
|
BEMOJI_DB_LOCATION=/path/to/my/emoji/directory
|
||||||
BEMOJI_CACHE_LOCATION=/path/to/my/cache/directory
|
BEMOJI_HISTORY_LOCATION=/path/to/my/state/directory
|
||||||
```
|
```
|
||||||
|
|
||||||
There are no equivalent commandline arguments to overwrite these two settings.
|
There are no equivalent commandline arguments to overwrite these two settings.
|
||||||
|
@ -241,7 +241,7 @@ with their default settings
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
BEMOJI_DB_LOCATION=$XDG_DATA_HOME/bemoji # where the emoji lists reside
|
BEMOJI_DB_LOCATION=$XDG_DATA_HOME/bemoji # where the emoji lists reside
|
||||||
BEMOJI_CACHE_LOCATION=$XDG_CACHE_HOME # where the cache file resides
|
BEMOJI_HISTORY_LOCATION=$XDG_STATE_HOME # where the state file resides
|
||||||
BEMOJI_CUSTOM_LIST="" # the custom emoji list to display
|
BEMOJI_CUSTOM_LIST="" # the custom emoji list to display
|
||||||
BEMOJI_DOWNLOAD_LIST="" # the default emoji lists to download to database
|
BEMOJI_DOWNLOAD_LIST="" # the default emoji lists to download to database
|
||||||
BEMOJI_DEFAULT_COMMAND=<clip-tool> # which command to invoke by default
|
BEMOJI_DEFAULT_COMMAND=<clip-tool> # which command to invoke by default
|
||||||
|
|
14
bemoji
14
bemoji
|
@ -5,10 +5,10 @@ bm_version=0.2.0
|
||||||
bm_db_location=${BEMOJI_DB_LOCATION:-"${XDG_DATA_HOME:-$HOME/.local/share}/bemoji"}
|
bm_db_location=${BEMOJI_DB_LOCATION:-"${XDG_DATA_HOME:-$HOME/.local/share}/bemoji"}
|
||||||
# Setting custom emoji list file location:
|
# Setting custom emoji list file location:
|
||||||
# BEMOJI_CUSTOM_LIST=/my/location/emojis.txt
|
# BEMOJI_CUSTOM_LIST=/my/location/emojis.txt
|
||||||
# Setting custom recent emoji cache:
|
# Setting custom recent emoji history:
|
||||||
# BEMOJI_CACHE_LOCATION=/path/to/my/recents/directory
|
# BEMOJI_HISTORY_LOCATION=/path/to/my/recents/directory
|
||||||
bm_cache_dir="${BEMOJI_CACHE_LOCATION:-${XDG_CACHE_HOME:-$HOME/.cache}}"
|
bm_state_dir="${BEMOJI_HISTORY_LOCATION:-${XDG_STATE_HOME:-$HOME/.local/state}}"
|
||||||
bm_history_file="${bm_cache_dir}/bemoji-history.txt"
|
bm_history_file="${bm_state_dir}/bemoji-history.txt"
|
||||||
|
|
||||||
# Command to run after user chooses an emoji
|
# Command to run after user chooses an emoji
|
||||||
bm_default_cmd="$BEMOJI_DEFAULT_CMD"
|
bm_default_cmd="$BEMOJI_DEFAULT_CMD"
|
||||||
|
@ -57,7 +57,7 @@ while getopts ":f:D:tcenpPhv" o; do
|
||||||
t) bm_cmds+=(_typer) ;;
|
t) bm_cmds+=(_typer) ;;
|
||||||
c) bm_cmds+=(_clipper) ;;
|
c) bm_cmds+=(_clipper) ;;
|
||||||
e) bm_cmds+=(cat) ;;
|
e) bm_cmds+=(cat) ;;
|
||||||
n) bm_echo_newline=false;;
|
n) bm_echo_newline=false ;;
|
||||||
D) BEMOJI_DOWNLOAD_LIST="${OPTARG}" ;;
|
D) BEMOJI_DOWNLOAD_LIST="${OPTARG}" ;;
|
||||||
p) bm_private_mode=true ;;
|
p) bm_private_mode=true ;;
|
||||||
P) bm_ignore_recent=true ;;
|
P) bm_ignore_recent=true ;;
|
||||||
|
@ -135,8 +135,8 @@ get_most_recent() {
|
||||||
|
|
||||||
add_to_recent() {
|
add_to_recent() {
|
||||||
if [ -z "$1" ]; then return; fi
|
if [ -z "$1" ]; then return; fi
|
||||||
if [ ! -d "$bm_cache_dir" ]; then
|
if [ ! -d "$bm_state_dir" ]; then
|
||||||
mkdir -p "$bm_cache_dir"
|
mkdir -p "$bm_state_dir"
|
||||||
fi
|
fi
|
||||||
echo "$1" >>"$bm_history_file"
|
echo "$1" >>"$bm_history_file"
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,8 @@ setup() {
|
||||||
|
|
||||||
# set up small default set of test emoji for each test
|
# set up small default set of test emoji for each test
|
||||||
export BEMOJI_DB_LOCATION="$BATS_TEST_TMPDIR/database"
|
export BEMOJI_DB_LOCATION="$BATS_TEST_TMPDIR/database"
|
||||||
export BEMOJI_CACHE_LOCATION="$BATS_TEST_TMPDIR/cache"
|
export BEMOJI_HISTORY_LOCATION="$BATS_TEST_TMPDIR/history"
|
||||||
mkdir -p "$BEMOJI_DB_LOCATION" "$BEMOJI_CACHE_LOCATION"
|
mkdir -p "$BEMOJI_DB_LOCATION" "$BEMOJI_HISTORY_LOCATION"
|
||||||
cat "$BATS_TEST_DIRNAME/resources/test_emoji.txt" > "$BEMOJI_DB_LOCATION/emoji.txt"
|
cat "$BATS_TEST_DIRNAME/resources/test_emoji.txt" > "$BEMOJI_DB_LOCATION/emoji.txt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,8 @@ setup() {
|
||||||
|
|
||||||
# set up small default set of test emoji for each test
|
# set up small default set of test emoji for each test
|
||||||
export BEMOJI_DB_LOCATION="$BATS_TEST_TMPDIR/database"
|
export BEMOJI_DB_LOCATION="$BATS_TEST_TMPDIR/database"
|
||||||
export BEMOJI_CACHE_LOCATION="$BATS_TEST_TMPDIR/cache"
|
export BEMOJI_HISTORY_LOCATION="$BATS_TEST_TMPDIR/history"
|
||||||
mkdir -p "$BEMOJI_DB_LOCATION" "$BEMOJI_CACHE_LOCATION"
|
mkdir -p "$BEMOJI_DB_LOCATION" "$BEMOJI_HISTORY_LOCATION"
|
||||||
cat "$BATS_TEST_DIRNAME/resources/test_emoji.txt" > "$BEMOJI_DB_LOCATION/emoji.txt"
|
cat "$BATS_TEST_DIRNAME/resources/test_emoji.txt" > "$BEMOJI_DB_LOCATION/emoji.txt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,8 +38,8 @@ database=$BATS_TEST_TMPDIR/xdb-db/bemoji
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "sets XDG directory for history by default" {
|
@test "sets XDG directory for history by default" {
|
||||||
unset BEMOJI_CACHE_LOCATION
|
unset BEMOJI_HISTORY_LOCATION
|
||||||
export XDG_CACHE_HOME="$BATS_TEST_TMPDIR/xdb-cache"
|
export XDG_STATE_HOME="$BATS_TEST_TMPDIR/xdb-cache"
|
||||||
run bemoji -v
|
run bemoji -v
|
||||||
assert_output --regexp "
|
assert_output --regexp "
|
||||||
history=$BATS_TEST_TMPDIR/xdb-cache/bemoji-history.txt$"
|
history=$BATS_TEST_TMPDIR/xdb-cache/bemoji-history.txt$"
|
||||||
|
@ -54,10 +54,10 @@ database=$HOME/.local/share/bemoji
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "falls back to default history location if no XDG found" {
|
@test "falls back to default history location if no XDG found" {
|
||||||
unset BEMOJI_CACHE_LOCATION
|
unset BEMOJI_HISTORY_LOCATION
|
||||||
run bemoji -v
|
run bemoji -v
|
||||||
assert_output --regexp "
|
assert_output --regexp "
|
||||||
history=$HOME/.cache/bemoji-history.txt$"
|
history=$HOME/.local/state/bemoji-history.txt$"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "BEMOJI_DB_LOCATION sets correct db directory" {
|
@test "BEMOJI_DB_LOCATION sets correct db directory" {
|
||||||
|
@ -67,8 +67,8 @@ database=$BATS_TEST_TMPDIR/database
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "BEMOJI_CACHE_LOCATION sets correct cache directory" {
|
@test "BEMOJI_HISTORY_LOCATION sets correct history directory" {
|
||||||
run bemoji -v
|
run bemoji -v
|
||||||
assert_output --regexp "
|
assert_output --regexp "
|
||||||
history=$BATS_TEST_TMPDIR/cache/bemoji-history.txt$"
|
history=$BATS_TEST_TMPDIR/history/bemoji-history.txt$"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue