Help language development. Donate to The Perl Foundation

App::FindSource cpan:ALOREN last updated on 2018-04-08

App-FindSource-0.0.2/

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]

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)