Commit graph

17 commits

Author SHA1 Message Date
e14010eb53
🐛 Print user messages to stderr (#27)
All checks were successful
ci/woodpecker/manual/woodpecker Pipeline was successful
Previously, any messages only intended for the user (status messages,
warnings, errors) were sent over stdout. The actual emoji items are also
sent to the pickers over stdout so they would sometimes pick up the
messages and show them as an option to pick. If history is enabled, we
then also save the falsely included items there to forever display as an
option.

This commit changes internal messages to all be sent over stderr
instead, so they should not be picked up by any external programs we
hand off to.
2024-01-11 10:58:11 +01:00
Laureηt
b97c09828d
Add support for fuzzel desktop executor
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Fuzzel is a wayland-native picker which support dmenu-like picking based
on standard input.
---------

Co-authored-by: Marty Oehme <marty.oehme@gmail.com>
2023-11-28 10:53:31 +01:00
Jesse Cooke
74af60c3f7
Add support for ilia desktop executor
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Ilia is used by Regolith Linux (Ubuntu+i3/sway).

Ilia has a slightly different presentation and prompt setup than other
pickers, and it makes more sense to use the given GTK icon instead of
the emoji character since that is what it seems to support.

Nicely explained by @jc00ke here:
https://github.com/marty-oehme/bemoji/pull/21#discussion_r1306212419

With the growing amount of picker tools supported out of the box
it seems more practical to have them together in a simple list
that can grow and through which we can always iterate instead
of a cumbersome growing if-else chain.
This commit also refactors the pick tool selection to be stored in
a bash hash map instead.
2023-09-14 17:14:39 +02:00
d44cbf5b74
Add long-form option parsing
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
So far we could only add single-letter (POSIX) options: `-e`, `-n` and
so forth. Since we will run out of alphabet at some point, this commit
introduces parsing of multi-letter long-form (gnu) options (plus any
modern application should really support it anyways):
`--echo`, `--noline`.

Additionally, we support supplying long-form options that supply a value
both in the spaced (`--hist-limit 0`) and the equals (`--hist-limit=0`)
forms. Short, long, spaced, equals can be mixed and matched between
freely.

Lastly, we retain the ability to concatenate short options as before
(`-ne` is valid, as is `-P0` for the respective options above).

This should cover all bases and does not complicate the code too much to
keep a coherent overview.

Changed several code samples in the documentation to make
use of short- or long-form options to point out
possibility.
2023-08-26 14:37:44 +02:00
e720343ffc
Add ability to download nerdfont symbols (#10)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Same as the other symbol download options, this one takes a list of all
nerdfont icons and wrangles them into shape to be usable with the emoji
picker. Can be used by invoking `bemoji -D nerd` or `bemoji -D all`.

Fixes #10.
2023-05-01 16:03:09 +02:00
0aaca26b0e
BREAKING: Add ability to limit recent emoji shown (#1)
Instead of `-P` being a flag for showing history it has become an option
whose argument is the number of history entries to show, `-P 4`.

To mimic the old behavior use `-P 0`.

Added some test coverage for history functionality.

Fixes #1.
2023-04-30 18:22:44 +02:00
56ae0f1bab
🐛 Pass through stdin to custom typing tool (#19)
Previously, stdin contents were consumed and then not passed through to
the typing tool. With this commit, they are correctly passed to any
custom tool's stdin.

Fixes #19.
2023-04-11 23:00:19 +02:00
71d5dc455d
🦊 Exit status 1 on cancelled selection (#20)
When making no selection, i.e. cancelling during the selection process
the program will return status code 1, whereas before it would carry the
same return code as when making an emoji selection.

Fixes #20.
2023-04-11 22:33:26 +02:00
32fc9f45dd
🦊 Update emoji url to latest version (#18)
Point url to grab emoji from to latest version of emoji list, which
should automatically point to upcoming versions as well.

Fixes #18.
2023-04-11 22:00:45 +02:00
59d436a944
🦊 BREAKING: Use new XDG Base specification for state (#5)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Switched the history from using the XDG_CACHE_HOME directory by default
to use XDG_STATE_HOME by default.

This makes sense since cache can (and should be prepared to) be wiped at
any moment and the program functionality should not be hindered by this.
Since we need to retain history through such wipes the newly introduced
state directory is the perfect match for keeping the history file in.

This does constitute a breaking change for existing histories which need
to be moved to the new directory if they made use of the old cache
directory.

Concurrent with this we are renaming `XDG_CACHE_LOCATION` environment
variable to `XDG_HISTORY_LOCATION` so this is a second breaking change
for those using a custom location for their histories.

This change attempts to make the naming scheme coherent and remove some
left-over naming cruft from the old location being the cache directory.

This provides one of the larger changes to the program so far.

Fixes #5.
2022-11-19 15:03:14 +01:00
4209b90669
📖 Bump version
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2022-11-10 16:12:15 +01:00
7f5c3772e2
🦊 Change download option to work multiple times (#16)
Changed `-D` option to always download the lists supplied, regardless of
the database directory being empty or not.

This means you can download additional lists after the first program
run, or re-download lists later on. It *will* overwrite your custom
changes however if your files are called the same as the default list
names.

Additionally removed dependency on GNU version of cut and added some
simple tests for the download functionality.

Fixes #16.
2022-11-10 16:05:23 +01:00
16039fe676
📖 Add missing case insensitivity fix to CHANGELOG
Added reference to the fix for no case insensitivity when searching
through rofi added in ec90201 which was so far still missing in
changelog.
2022-10-12 16:50:40 +02:00
Yann Büchau
d03068dba7
Add -n option to prevent newline after emoji (#12)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Adds another commandline option `-n` to the application which prevents
newlines from being added at the end of each output.
Disabled by default.

Co-authored-by: Marty Oehme <marty.oehme@gmail.com>
2022-09-27 21:01:44 +02:00
05f0e71b9f
📖 Update CHANGELOG and add explanation to usage help
Added quick note that commands can be used in combination and separated
commands from other options to better highlight them.
2022-08-06 11:48:58 +02:00
7cec73e2db
📖 Bump version, add to changelog 2022-06-29 12:44:42 +02:00
ce17ae58f1
📖 Add simple Changelog 2022-06-29 12:44:42 +02:00