3

这是.ctags文件:

-R
--langdef=swift
--langmap=swift:.swift
--regex-swift=/[[:<:]]class[[:>:]][[:space:]]+([[:alnum:]_]+)/\1/c,class/
--regex-swift=/[[:<:]]enum[[:>:]][[:space:]]+([[:alnum:]_]+)/\1/e,enum/
--regex-swift=/[[:<:]]func[[:>:]][[:space:]]+([[:alnum:]_]+)/\1/f,function/
--regex-swift=/[[:<:]]protocol[[:>:]][[:space:]]+([[:alnum:]_]+)/\1/P,protocol/
--regex-swift=/[[:<:]]struct[[:>:]][[:space:]]+([[:alnum:]_]+)/\1/s,struct/
--regex-swift=/[[:<:]]extension[[:>:]][[:space:]]+([[:alnum:]_]+)/\1/E,extension/
--regex-swift=/[[:<:]]typealias[[:>:]][[:space:]]+([[:alnum:]_]+)/\1/t,typealias/

该文件生成得很好,我可以使用该命令tags搜索 Swift 标签。:tag当我使用 :CtrlPBufTag 时,我会收到==NO ENTRIES==消息。

这些标签适用于其他文件类型。例如,这是两个文件的标记文件,一个 PHP 和一个 Swift:

!_TAG_FILE_FORMAT   2   /extended format; --format=1 will not append ;" to lines/
!_TAG_FILE_SORTED   1   /0=unsorted, 1=sorted, 2=foldcase/
!_TAG_PROGRAM_AUTHOR    Darren Hiebert  /dhiebert@users.sourceforge.net/
!_TAG_PROGRAM_NAME  Exuberant Ctags //
!_TAG_PROGRAM_URL   http://ctags.sourceforge.net    /official site/
!_TAG_PROGRAM_VERSION   5.8 //
PhpTest test.php    /^class PhpTest$/;" c
SwiftyClass test.swift  /^class SwiftyClass {$/;"   c
__construct test.php    /^    public function __construct()$/;" f
swiftyFunc  test.swift  /^    func swiftyFunc() {$/;"   f

在 PHP 文件中,我可以使用 :CtrlPBufTag 查看缓冲区的标签。对于 Swift,我得到了==NO ENTRIES==.

4

0 回答 0