3 个版本

0.1.3 2021年3月11日
0.1.2 2021年3月11日
0.1.1 2021年1月11日
0.1.0 2021年1月11日

#2147命令行工具

自定义许可

45KB
1K SLoC

Oxio

crates.io

Oxio 是一个受 Zach Holman 的 boom 启发的轻量级片段管理器。以下是 Zach 对 boom 的描述:

您可以保存文本,如网址、模板回复和重要笔记,然后快速将它们复制到剪贴板,以便粘贴。

安装

使用 cargo 进行安装

cargo install oxio

使用方法

 ▲ oxio gif magic http://i.imgur.com/n5xR79B.gif
oxio: Ok, magic (in gif) is http://i.imgur.com/n5xR79B.gif

 ▲ oxio magic
oxio: http://i.imgur.com/n5xR79B.gif (from gif->magic) is now in your clipboard!

 ▲ oxio rm-item gif magic
oxio: Removed magic from gif

操作项目

要将项目添加到本地缓存,请调用 oxio 并传递三个参数;一个 group、项目的 name 和项目的 value。这些参数用于在本地缓存中写入一个新文件

▲ oxio gif magic http://i.imgur.com/n5xR79B.gif
  ------^----^-----------------^----------------
        |    |                 |
        |    |                 Value
        |    Name
        Group

要快速将项目复制到剪贴板,只需调用 oxio 并将项目名称作为第一个参数传递

▲ oxio magoc
oxio: http://i.imgur.com/n5xR79B.gif (from gif->magic) is now in your clipboard!

然后它会将项目复制到您的剪贴板。注意,上面的命令请求的是 magoc 而不是 magic。Oxio 会尝试自动修复拼写错误。如果您需要一个确切的项目,从确切的项目组中调用 oxio 并传递组名,然后是项目名称

▲ oxio gif magic
oxio: http://i.imgur.com/n5xR79B.gif (from gif->magic) is now in your clipboard!

要删除项目,请使用 rm-item,再次传递组名和项目名称

▲ oxio rm-item gif magic
oxio: Removed magic from gif

要删除组及其所有项目,请使用 rm-group

▲ oxio rm-group gif magic
oxio: Removed group gif and all its items.

然后,要显示所有项目,请使用 oxio all

▲ oxio all
gif:
  magic: http://i.imgur.com/n5xR79B.gif

或者,要使用默认编辑器编辑大型项目,请使用 oxio edit 并传递组名和项目名称

▲ oxio edit gif magic
[opens your editor]
oxio: Ok, magic (in gif) is foobar

同步

对于在多台机器上使用的人来说,Oxio 能够同步存储库与所有本地项目。要开始使用同步,创建一个新的远程存储库,并使用以下任一选项

具有现有缓存

如果您已经有一个本地缓存(您已经添加了项目),请使用 oxio sync merge git-url,其中 git-url 是一个 git 存储库

▲ oxio sync merge git@github.com:yourusername/.oxio.git
oxio: Clonning git@github.com:yourusername/.oxio.git into /var/folders/l1/n7yv6s4d5350p7nxyn8bmtsc0000gn/T/zcl7bKG1cY0mvMcpG5Y9AGjpnICvVa
oxio: Copying items to new temporary repository...
oxio: Performing sync...
oxio: Merging changes...
oxio: Pushing changes...
oxio: Sync complete
oxio: Applying local changes...
oxio: Done! 220 item(s) in the local repository. Use oxio sync to sync changes.

Oxio 将自动更新存储库和您的安装。

没有现有缓存

如果您还没有将项目添加到本地缓存,或者您已经有一个包含 Oxio 项目的存储库并想将其下载到您的机器上,请使用 oxio sync init git-url

▲ oxio sync init git@github.com:yourusername/.oxio.git
oxio: Clonning git@github.com:yourusername/.oxio.git into /Users/yourusername/.oxio.cache
oxio: Done! 219 item(s) in the local repository. Use oxio sync to sync changes.

将更改同步到本地缓存

在添加、删除或编辑项目或组之后,只需调用 oxio sync。远程更改将下载到本地存储库,并将本地更改发送到其中。

▲ oxio sync
oxio: Performing sync...
oxio: Merging changes...
oxio: Pushing changes...
oxio: Sync complete

待办事项

  • 添加测试

许可

MIT License

Copyright (c) 2021 Victor Gama

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

依赖关系

~10–24MB
~382K SLoC