项目作者: eriol

项目描述 :
CLI tool to search unicode data backed by SQLite3
高级语言: Go
项目地址: git://github.com/eriol/piken.git
创建时间: 2015-12-10T21:56:23Z
项目社区:https://github.com/eriol/piken

开源协议:BSD 3-Clause "New" or "Revised" License

下载


piken

piken is a CLI tool to search unicode data backed by SQLite3.

The name is in homage to the creators of UTF-8: Rob Pike and Ken
Thompson.

Install

  1. % go get eriol.xyz/piken

After installation use piken update to get unicode data from
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt.

Usage

  1. % piken -h
  2. NAME:
  3. piken - unicode search tool backed by SQLite3
  4. USAGE:
  5. ./piken [global options] command [command options] [arguments...]
  6. VERSION:
  7. 0.1
  8. AUTHOR(S):
  9. Daniele Tricoli <eriol@mornie.org>
  10. COMMANDS:
  11. update Update unicode data
  12. search, s Search for unicode
  13. help, h Shows a list of commands or help for one command
  14. GLOBAL OPTIONS:
  15. --help, -h show help
  16. --version, -v print the version

piken exposes SQLite3’s full-text search
on command line.

NOTE: if you are using zsh, it’s useful to disable glob expressions with
noglob (using an alias for example) instead of quote searches.

Default fields showed are codepoint and name, but it easy to override this:

  1. % piken search red apple
  2. 1F34E -- RED APPLE -- 🍎
  3. piken search --fields Name --fields Category --fields CodePoint red apple
  4. RED APPLE -- So -- 1F34E -- 🍎

The following fields can be used:

  • CodePoint
  • Name
  • Category
  • CanonicalClass
  • BidiClass
  • DecompositionType
  • NumericType
  • NumericDigit
  • NumericValue
  • BidiMirrored
  • Unicode1Name
  • ISOComment
  • SimpleUppercaseMapping
  • SimpleLowercaseMapping
  • SimpleTitlecaseMapping

AND, OR, NOT operators

  1. % piken search heart AND (blue OR green)
  2. 1F499 -- BLUE HEART -- 💙
  3. 1F49A -- GREEN HEART -- 💚

Note: operators must be uppercase.

* and ^ prefixes

  1. % piken search mass*
  2. 1D340 -- TETRAGRAM FOR MASSING -- 𝍀
  3. 1F486 -- FACE MASSAGE -- 💆
  1. % piken search ^cat
  2. 1F408 -- CAT -- 🐈
  3. 1F431 -- CAT FACE -- 🐱
  4. 1F639 -- CAT FACE WITH TEARS OF JOY -- 😹
  5. 1F63C -- CAT FACE WITH WRY SMILE -- 😼

NEAR operator

  1. % piken search crying face
  2. 1F622 -- CRYING FACE -- 😢
  3. 1F62D -- LOUDLY CRYING FACE -- 😭
  4. 1F63F -- CRYING CAT FACE -- 😿
  5. % piken search crying NEAR/0 face
  6. 1F622 -- CRYING FACE -- 😢
  7. 1F62D -- LOUDLY CRYING FACE -- 😭
  1. % piken search codepoint:1F602
  2. 1F602 -- FACE WITH TEARS OF JOY -- 😂
  3. % piken search doo* codepoint:A*
  4. A585 -- VAI SYLLABLE DOO --
  5. A61B -- VAI SYMBOL DOONG --
  6. % piken search category:Ll | wc -l
  7. 1984
  8. % piken search math* frak* cap* NOT bold codepoint:1D50*
  9. 1D504 -- MATHEMATICAL FRAKTUR CAPITAL A -- 𝔄
  10. 1D505 -- MATHEMATICAL FRAKTUR CAPITAL B -- 𝔅
  11. 1D507 -- MATHEMATICAL FRAKTUR CAPITAL D -- 𝔇
  12. 1D508 -- MATHEMATICAL FRAKTUR CAPITAL E -- 𝔈
  13. 1D509 -- MATHEMATICAL FRAKTUR CAPITAL F -- 𝔉
  14. 1D50A -- MATHEMATICAL FRAKTUR CAPITAL G -- 𝔊
  15. 1D50D -- MATHEMATICAL FRAKTUR CAPITAL J -- 𝔍
  16. 1D50E -- MATHEMATICAL FRAKTUR CAPITAL K -- 𝔎
  17. 1D50F -- MATHEMATICAL FRAKTUR CAPITAL L -- 𝔏
  18. # Note: Capital C and Capital H are missing from UnicodeData.txt

Copy into clipboard

Option --copy (compact form -c) can be used to copy the glyph directly into
the clipboard when search return only one row:

  1. % piken search --copy door
  2. WARN[0000] Copy to clipboard not allowed for multiple rows.
  3. 2F3E -- KANGXI RADICAL DOOR --
  4. 1F6AA -- DOOR -- 🚪
  5. % piken search --copy door NOT k*
  6. 1F6AA -- DOOR -- 🚪