很久以前,我用 Bash 补全_愚弄_,我创建了几个。我为奇妙的grep替代ack创建了一个基本的,我在GitHub 存储库中开源了它。

在某个时候,我开始使用ag(the silver searcher),并且不再像以前那样使用ack

我实际上已经忘记了这一切,令我惊讶的是,我在存储库中收到了关于和问题的通知,实际上是第一个。

该问题由@rpgoldman提交,根据我的初步工作,他有一个改进的完成版本。我恳请@rpgoldmancreateda PR以更精简的方式检查提议的更改。

建议的更改,其中最充实和扩展 Bash 完成,相当多来自我的_非常基本_实现。

我的第一个实现并解析了我的.ackrc并为我的自定义类型创建了完成。

新版本重新实现了这一点,并从ack中提取了自定义类型以及ack提供的所有其他优点。

所以如果你做ack``-<tab>

你得到:

--actionscript
--ada
--after-context
--asm
--asp
--aspx
--bar
--batch
--bazel
--before-context
--break
--cathy
--cc
--cfmx
--clojure
--cmake
--coffeescript
--color
--color-colno
--color-filename
--color-lineno
--color-match
--column
--conf
--context
--count
--cpp
--csharp
--css
--dart
--delphi
--dump
--elisp
--elixir
--elm
--env
--erlang
--files-with-matches
--files-without-matches
--filter
--flush
--follow
--fortran
--go
--groovy
--group
--gsp
--haskell
--heading
--help
--help-colors
--help-rgb-colors
--help-types
--hh
--hpp
--html
--ignore-case
--ignore-dir
--ignore-directory
--ignore-file-r
--invert-match
--jade
--java
--js
--json
--jsp
--known-types
--kotlin
--less
--lisp
--literal
--lua
--make
--man
--markdown
--match
--matlab
--mojo
--no-filename
--no-ignore-case
--no-recurse
--nobreak
--nocolor
--nocolumn
--noenv
--nofilter
--nofollow
--nogroup
--noheading
--noignore-dir
--noignore-directory
--nopager
--nosmart-case
--nounderline
--objc
--objcpp
--ocaml
--output
--pager
--passthru
--pconf
--perl
--perltest
--php
--plone
--pod
--print0
--proximate
--purescript
--python
--rake
--range-end
--range-start
--recurse
--rr
--rst
--ruby
--rust
--sass
--scala
--scheme
--shell
--show-types
--smalltalk
--smart-case
--smarty
--sort-files
--sql
--stylus
--svg
--swift
--tcl
--tex
--thpppt
--toml
--ts
--ttml
--type
--underline
--vb
--verilog
--version
--vhdl
--vim
--with-filename
--word-regexp
--xml
--yaml
-1
-A
-B
-c
-C
-f
-g
-h
-H
-i
-I
-k
-l
-L
-n
-o
-p
-Q
-R
-s
-S
-t
-T
-v
-w
-x

进入全屏模式 退出全屏模式

这是基于我的安装,所以你的设置可能看起来不同,因为我有自定义扩展:

  • *.conf

  • *.mojo

  • *.pconf

有关ack和所有命令行选项的更多信息,请访问beyondgrep.com,您可以完成这些选项。

这个小小的冒险教会了我两件事:

  1. 开源你的东西,无论大小,成品或半成品——我可以对其他人有用

  2. 开源是为病人服务的——所以即使多年后,也有人会回馈;转到 1。

感谢@rpgoldman的贡献。

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐