Skip to content
Find your source file easily!
Perl 6
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
config
lib/Config
t
.appveyor.yml
.gitignore
.travis.yml
Build.pm
LICENSE
META6.json
README.md

README.md

perl6-app-findsource

Find your source file easily.

USAGE

$ fs -h                               
Usage:
/home/*/.perl6/bin/fs [add|list|remove] [-l=<array>] [-w=<array>] [-a=<array>] [-i] [-no=<array>] [-only=<string>] [-d|--debug] <directory> 

-l=<array>     load specify config, available config are < perl make cpp cfg >.

-w=<array>     match whole filename.                                           

-a=<array>     addition extension list.                                        

-i             enable ignore case mode.                                        

-no=<array>    exclude file category.                                          

-only=<string> only search given category.                                     

-d|--debug     print debug message.

config

The config use json format, it contain the option will add categories to command line. In the config, you also can append value to -w or -a.

cpp.json

{
	"option" : [
		{
			"short" : "c",
			"value" : [ "c" ],
			"annotation" : "c source file extension list. "
		},
		{
			"short" : "h",
			"value" : [ "h" ],
			"annotation" : "c/c++ header file extension list. "
		}
	]
}

short is the category option will added.

value is the default value of the category, it will append the value to the category if the category exists.

load the config

Use -l cpp to load the config, it will add -h=<array> and -c=<array> to fs command line.

$ fs -l cpp -h
Usage:
/home/*/.perl6/bin/fs [add|list|remove] [-l=<array>] [-w=<array>] [-a=<array>] [-i] [-no=<array>] [-only=<string>] [-d|--debug] [-c=<array>] [-cpp=<array>] [-h=<array>] <directory> 

-l=<array>     load specify config, available config are < perl make cpp cfg >. 

-w=<array>     match whole filename.                                            

-a=<array>     addition extension list.                                         

-i             enable ignore case mode.                                         

-no=<array>    exclude file category.                                           

-only=<string> only search given category.                                      

-d|--debug     print debug message.                                             

-c=<array>     c source file extension list. [c]

-h=<array>     c/c++ header file extension list. [h]

do search

Add an argument specify the directory you want searched.

$ fs ../rakudo/tmp/rakudo/src/vm -l cpp 
"../rakudo/tmp/rakudo/src/vm/moar/ops/perl6_ops.c"
"../rakudo/tmp/rakudo/src/vm/moar/ops/container.h"
"../rakudo/tmp/rakudo/src/vm/moar/ops/container.c"

add extension to category

You can add additional file extension to category.

$ fs ../rakudo/tmp/rakudo/src/vm -l cpp -a java
"../rakudo/tmp/rakudo/src/vm/moar/ops/perl6_ops.c"
"../rakudo/tmp/rakudo/src/vm/moar/ops/container.h"
"../rakudo/tmp/rakudo/src/vm/moar/ops/container.c"
"../rakudo/tmp/rakudo/src/vm/jvm/runtime/org/perl6/rakudo/RakudoContainerSpec.java"
"../rakudo/tmp/rakudo/src/vm/jvm/runtime/org/perl6/rakudo/RakudoContainerConfigurer.java"
"../rakudo/tmp/rakudo/src/vm/jvm/runtime/org/perl6/rakudo/RakOps.java"
"../rakudo/tmp/rakudo/src/vm/jvm/runtime/org/perl6/rakudo/RakudoJavaInterop.java"
"../rakudo/tmp/rakudo/src/vm/jvm/runtime/org/perl6/rakudo/RakudoEvalServer.java"
"../rakudo/tmp/rakudo/src/vm/jvm/runtime/org/perl6/rakudo/Binder.java"

add | remove | list config

You can add your own config to configuration directory.

List current configuration file:

$ fs list
cfg.json
perl.json
cpp.json
make.json

Installation

zef install App::FindSource

License

GPL

Author

araraloren (blackcatoverwall#gmail.com)

You can’t perform that action at this time.