CTAGS解析PowerShell文件
来源:互联网 发布:java用正则表达式 编辑:程序博客网 时间:2024/04/30 14:04
命令行
ctags.exe --options=ctags.cnf -L *
ctags.cnf内容(此文件编写最好是UTF-8或ASCII的,因为ctags.exe有时会因为编码问题不能正确读入此文件)
--langdef=PowerShell--langmap=PowerShell:.psm1.ps1--regex-PowerShell=/^[\t ]*function[\t ]*([a-v]{5,7}:)?([a-z_-]+)/\2/m, method/i-f ctags.txt
正则稍微说一下吧:
([a-v]{5,7}:)? 为匹配Scope,如private, local, global, script([a-z_-]+) 为匹配函数名称,因没有在函数中使用数字的习惯,所以没有添加带有数字的模式,如果要带数字,则用([a-z0-9_-]+)\2 让CTAGS把第二个括号所匹配的内容当作函数名来记录,如果改为\1后,当函数声明带有Scope时,CTAGS认为函数名为Scope,即把"private:", "local:", "scripts:"等等当作函数名称来记录/i 代表忽略大小写
这个文件名(ctags.cnf)可以随便定义,不过默认ctags.exe会自动在当前路径或环境变量%CTAGS%(如果存在的话)中加载ctags.cnf这个文件,所以如果你用的此文件保存命令,在命令行可以这样写
ctags.exe -L*哦,对了,使用文件定义命令时,-f <target name> 一定要写在文件里,在命令行中添加这个命令是无效的,会被ctags.exe认为二次定义而报错,从而使用ctags为默认输出文件
如果没用文件来定义命令,在命令行写入时,正则一定要用引号引起来,因为正则中带有空格,会被ctags.exe认为是分隔符
function Script:Test-Path {......}Function Test-Path {......} FUNCTION TEST {......}
我在UltraEdit中使用CTAGS时,要跳转时需要选中完整的函数名称,因为UltraEdit认为 - 是隔离符号而非函数名称的一部分
我只是定义了如何搜索function,没定义怎样搜索Variable,因Variable名字重复率高且定义格式又有很多种(主要是人太懒了)。
如果你想Variable的正则,自ctags.cnt中另起一新行写入下面的参数即可
--regex-PowerShell=你写的Variable正则
- CTAGS解析PowerShell文件
- ctags指定文件解析
- ctags文件绝对路径修正
- ctags指定文件
- PowerShell批量Rename文件
- PowerShell 批量重命名文件
- 用Powershell下载文件
- powershell 远程 copy 文件
- PowerShell 运行ps1文件
- Powershell创建文件
- POWERSHELL - 移动文件
- 使用PowerShell下载文件
- powershell递归删除文件
- PowerShell-6.文件操作
- PowerShell 读写Unicode文件
- ctags
- Ctags
- Ctags
- linux kernel map
- 积累的emacs功能列表
- 线程二
- android组件通讯 Intent-ComponnentName属性
- 微软公司面试题【1】
- CTAGS解析PowerShell文件
- Android ListView滑动过程中图片显示重复错乱闪烁问题解决
- PHP源码初探之GCC简单介绍(二)
- Orion测试io性能的工具
- 属性传值与代理传值
- ADT安装遇到的问题 cannot perform operator
- 关于QT实现多线程服务器
- ioremap和ioport_map
- 6_双向循环链表