diff --git a/t/ack-boolean.t b/t/ack-boolean.t index 62d2f6a..b37b903 100644 --- a/t/ack-boolean.t +++ b/t/ack-boolean.t @@ -151,6 +151,11 @@ OR: { } + +# XXX We need tests on highlighting, too. +# +# XXX And tests on none of them matching. +# XXX And tests that --and themselves out of matching. done_testing(); exit 0; diff --git a/tags b/tags index 3d117cb..5a6bc9d 100644 --- a/tags +++ b/tags @@ -1,11 +1,34 @@ +!_TAG_EXTRA_DESCRIPTION anonymous /Include tags for non-named objects like lambda/ +!_TAG_EXTRA_DESCRIPTION fileScope /Include tags of file scope/ +!_TAG_EXTRA_DESCRIPTION pseudo /Include pseudo tags/ +!_TAG_EXTRA_DESCRIPTION subparser /Include tags generated by subparsers/ +!_TAG_FIELD_DESCRIPTION epoch /the last modified time of the input file (only for F\/file kind tag)/ +!_TAG_FIELD_DESCRIPTION file /File-restricted scoping/ +!_TAG_FIELD_DESCRIPTION input /input file/ +!_TAG_FIELD_DESCRIPTION name /tag name/ +!_TAG_FIELD_DESCRIPTION pattern /pattern/ +!_TAG_FIELD_DESCRIPTION typeref /Type and name of a variable or typedef/ !_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 // +!_TAG_KIND_DESCRIPTION!Perl c,constant /constants/ +!_TAG_KIND_DESCRIPTION!Perl f,format /formats/ +!_TAG_KIND_DESCRIPTION!Perl l,label /labels/ +!_TAG_KIND_DESCRIPTION!Perl p,package /packages/ +!_TAG_KIND_DESCRIPTION!Perl s,subroutine /subroutines/ +!_TAG_OUTPUT_EXCMD mixed /number, pattern, mixed, or combineV2/ +!_TAG_OUTPUT_FILESEP slash /slash or backslash/ +!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/ +!_TAG_OUTPUT_VERSION 0.0 /current.age/ +!_TAG_PARSER_VERSION!Perl 0.0 /current.age/ +!_TAG_PATTERN_LENGTH_LIMIT 96 /0 for no limit/ +!_TAG_PROC_CWD /Users/andy/ack3/ // +!_TAG_PROGRAM_AUTHOR Universal Ctags Team // +!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/ +!_TAG_PROGRAM_URL https://ctags.io/ /official site/ +!_TAG_PROGRAM_VERSION 6.1.0 // ADJACENT_CAPTURE_COLORING t/ack-color.t /^ADJACENT_CAPTURE_COLORING: {$/;" l AFTER t/context.t /^AFTER: {$/;" l +AND t/ack-boolean.t /^AND: {$/;" l ARG_MULTIPLE_FILES t/ack-output.t /^ARG_MULTIPLE_FILES: {$/;" l App::Ack lib/App/Ack.pm /^package App::Ack;$/;" p App::Ack::ConfigDefault lib/App/Ack/ConfigDefault.pm /^package App::Ack::ConfigDefault;$/;" p @@ -75,8 +98,8 @@ DEFAULT_DIR_EXCLUSIONS t/ack-f.t /^DEFAULT_DIR_EXCLUSIONS: {$/;" l DOLLAR_1 t/ack-output.t /^DOLLAR_1: {$/;" l DOLLAR_UNDERSCORE t/ack-output.t /^DOLLAR_UNDERSCORE: {$/;" l DOUBLE_QUOTES t/ack-output.t /^DOUBLE_QUOTES: {$/;" l +DUMP t/ack-dump.t /^DUMP: {$/;" l DUMP t/ack-type-del.t /^DUMP: {$/;" l -DUMP t/internals/ack-dump.t /^DUMP: {$/;" l EXCLUDE_ONLY t/inverted-file-filter.t /^EXCLUDE_ONLY: {$/;" l EXIT_CODE t/ack-f.t /^EXIT_CODE: {$/;" l FILENAME_SUBSTITUTION_1 t/ack-output.t /^FILENAME_SUBSTITUTION_1 : {$/;" l @@ -86,7 +109,7 @@ FILE_NOT_THERE t/command-line-files.t /^FILE_NOT_THERE: {$/;" l FORCE_NO_PAGER t/ack-pager.t /^FORCE_NO_PAGER: {$/;" l FRONT_ANCHORED t/anchored.t /^FRONT_ANCHORED: {$/;" l F_PRINT0 t/ack-print0.t /^F_PRINT0: {$/;" l -FilterTest t/internals/FilterTest.pm /^package FilterTest;$/;" p +FilterTest t/FilterTest.pm /^package FilterTest;$/;" p GROUPING_MULTIPLE_FILES t/context.t /^GROUPING_MULTIPLE_FILES: {$/;" l GROUPING_SINGLE_FILE t/context.t /^GROUPING_SINGLE_FILE: {$/;" l G_NO_PRINT0 t/ack-print0.t /^G_NO_PRINT0: {$/;" l @@ -127,12 +150,13 @@ MULTIPLE_MATCHES t/ack-color.t /^MULTIPLE_MATCHES: {$/;" l MY Makefile.PL /^package MY;$/;" p MY Makefile.PL /^sub MY::postamble {$/;" s MY Makefile.PL /^sub MY::test {$/;" s -Miscellaneous lib/App/Ack.pm /^Miscellaneous:$/;" l NEEDS_LINE_SCAN t/needs-line-scan.t /^NEEDS_LINE_SCAN: {$/;" l NOIGNORE_DIR_RELATIVE_PATHS t/ack-ignore-dir.t /^NOIGNORE_DIR_RELATIVE_PATHS: {$/;" l NOIGNORE_SUBDIR_WINS t/ack-ignore-dir.t /^NOIGNORE_SUBDIR_WINS: {$/;" l NORMAL_CASE t/ack-v.t /^NORMAL_CASE: {$/;" l NORMAL_COLOR t/ack-color.t /^NORMAL_COLOR: {$/;" l +NOT t/ack-boolean.t /^NOT: {$/;" l +NOT t/ack-c.t /^NOT: {$/;" l NO_GROUPING t/ack-group.t /^NO_GROUPING: {$/;" l NO_O t/ack-o.t /^NO_O: {$/;" l NO_PAGER t/ack-pager.t /^NO_PAGER: {$/;" l @@ -144,6 +168,7 @@ NO_SWITCHES_ONE_FILE t/ack-h.t /^NO_SWITCHES_ONE_FILE: {$/;" l NO_SWITCHES_ONE_FILE t/basic.t /^NO_SWITCHES_ONE_FILE: {$/;" l NTESTS t/file-permission.t /^use constant NTESTS => 5;$/;" c NUMERIC_SUBSTITUTIONS t/ack-output.t /^NUMERIC_SUBSTITUTIONS: {$/;" l +OR t/ack-boolean.t /^OR: {$/;" l PAGER t/ack-pager.t /^PAGER: {$/;" l PAGER_ACKRC t/ack-pager.t /^PAGER_ACKRC: {$/;" l PAGER_ACKRC_OVERRIDE t/ack-pager.t /^PAGER_ACKRC_OVERRIDE: {$/;" l @@ -159,21 +184,18 @@ POSTMATCH_MULTIPLE_FILES t/ack-output.t /^POSTMATCH_MULTIPLE_FILES: {$/;" l PREMATCH t/ack-output.t /^PREMATCH: {$/;" l PREMATCH_MULTIPLE_FILES t/ack-output.t /^PREMATCH_MULTIPLE_FILES: {$/;" l REQUIRE_F_OR_G t/ack-show-types.t /^REQUIRE_F_OR_G: {$/;" l +RESTRICTED_DIRECTORIES t/ack-s.t /^RESTRICTED_DIRECTORIES: {$/;" l RUBY_AND_RAKE t/ack-show-types.t /^RUBY_AND_RAKE: {$/;" l -RangeFile t/range.t /^package RangeFile;$/;" p RangeFile t/range/rangefile.pm /^package RangeFile;$/;" p -Regex t/illegal-regex.t /^Regex: (set|get)_user_(id|(username)$/;" l SINGLE_FILE_COUNT t/ack-c.t /^SINGLE_FILE_COUNT: {$/;" l SINGLE_TEXT_MATCH t/ack-1.t /^SINGLE_TEXT_MATCH: {$/;" l SKIP t/ack-passthru.t /^SKIP: {$/;" l -SKIP t/ack-s.t /^SKIP: {$/;" l SKIP t/file-permission.t /^SKIP: {$/;" l SMART_CASE t/longopts.t /^SMART_CASE: {$/;" l SPECIFYING_A_BAK_FILE t/command-line-files.t /^SPECIFYING_A_BAK_FILE: {$/;" l STANDARD_GROUPING t/ack-group.t /^STANDARD_GROUPING: {$/;" l SUBPATTERN_MATCH t/ack-output.t /^SUBPATTERN_MATCH: {$/;" l SUBPATTERN_MATCH_MULTIPLE_FILES t/ack-output.t /^SUBPATTERN_MATCH_MULTIPLE_FILES: {$/;" l -Searching lib/App/Ack.pm /^Searching:$/;" l TEST_NOTYPE t/ack-type.t /^TEST_NOTYPE: {$/;" l TEST_NOTYPES t/ack-type.t /^TEST_NOTYPES: {$/;" l TEST_NOTYPE_ACKRC_CMD_LINE_OVERRIDE t/ack-type.t /^TEST_NOTYPE_ACKRC_CMD_LINE_OVERRIDE: {$/;" l @@ -182,24 +204,29 @@ TEST_TYPE t/ack-type.t /^TEST_TYPE: {$/;" l TEST_TYPE_ACKRC_CMD_LINE_OVERRIDE t/ack-type.t /^TEST_TYPE_ACKRC_CMD_LINE_OVERRIDE: {$/;" l TEST_TYPE_OVERRIDE t/ack-type.t /^TEST_TYPE_OVERRIDE: {$/;" l TEST_UNKNOWN_TYPE t/ack-type.t /^TEST_UNKNOWN_TYPE: {$/;" l -TestFilter t/internals/filter.t /^package TestFilter;$/;" p +TestFilter t/filter.t /^package TestFilter;$/;" p UNANCHORED t/anchored.t /^UNANCHORED: {$/;" l -UNFILTERED t/internals/file-iterator.t /^UNFILTERED: {$/;" l -Usage lib/App/Ack.pm /^Usage: ack [OPTION]... PATTERN [FILES OR DIRECTORIES]$/;" l +UNFILTERED t/file-iterator.t /^UNFILTERED: {$/;" l Util t/Util.pm /^package Util;$/;" p VERIFY_LAST_LINE_IS_MISSING_NEWLINE t/incomplete-last-line.t /^VERIFY_LAST_LINE_IS_MISSING_NEWLINE: {$/;" l WITHOUT_COLUMNS t/ack-column.t /^WITHOUT_COLUMNS: {$/;" l WITHOUT_S t/ack-s.t /^WITHOUT_S: {$/;" l WITH_COLUMNS t/ack-column.t /^WITH_COLUMNS: {$/;" l WITH_COLUMNS_AND_CONTEXT t/context.t /^WITH_COLUMNS_AND_CONTEXT: {$/;" l +WITH_COLUMNS_AND_NOT t/ack-column.t /^WITH_COLUMNS_AND_NOT: {$/;" l WITH_DASH_V t/ack-c.t /^WITH_DASH_V: {$/;" l +WITH_NOT t/ack-v.t /^WITH_NOT: {$/;" l WITH_O t/ack-o.t /^WITH_O: {$/;" l WITH_S t/ack-s.t /^WITH_S: {$/;" l WITH_SWITCHES_MULTIPLE_FILES t/ack-h.t /^WITH_SWITCHES_MULTIPLE_FILES: {$/;" l WITH_SWITCHES_MULTIPLE_FILES t/basic.t /^WITH_SWITCHES_MULTIPLE_FILES: {$/;" l WITH_SWITCHES_ONE_FILE t/ack-h.t /^WITH_SWITCHES_ONE_FILE: {$/;" l WITH_SWITCHES_ONE_FILE t/basic.t /^WITH_SWITCHES_ONE_FILE: {$/;" l -_big_split t/internals/lowercase.t /^sub _big_split {$/;" s +_argjoin t/ack-boolean.t /^sub _argjoin( $opt, $args ) {$/;" s +_big_split t/lowercase.t /^sub _big_split {$/;" s +_build_and_or ack /^sub _build_and_or {$/;" s +_build_highlight_re ack /^sub _build_highlight_re {$/;" s +_build_search_not_re ack /^sub _build_search_not_re {$/;" s _check_command_for_taintedness t/Util.pm /^sub _check_command_for_taintedness {$/;" s _check_for_ackrc lib/App/Ack/ConfigFinder.pm /^sub _check_for_ackrc {$/;" s _check_for_mutex_options lib/App/Ack/ConfigLoader.pm /^sub _check_for_mutex_options {$/;" s @@ -216,7 +243,9 @@ _explode_sources lib/App/Ack/ConfigLoader.pm /^sub _explode_sources {$/;" s _five_to_1 dev/generate-rgb-codes.pl /^sub _five_to_1{$/;" s _generate_error_handler lib/App/Ack/Files.pm /^sub _generate_error_handler {$/;" s _generate_ignore_dir lib/App/Ack/ConfigLoader.pm /^sub _generate_ignore_dir {$/;" s +_get_code_from_file squash /^sub _get_code_from_file {$/;" s _get_good_and_bad t/ack-w.t /^sub _get_good_and_bad {$/;" s +_movies_are t/ack-boolean.t /^sub _movies_are( $args, $exp ) {$/;" s _my_program lib/App/Ack.pm /^sub _my_program {$/;" s _options_block lib/App/Ack/ConfigDefault.pm /^sub _options_block {$/;" s _options_used lib/App/Ack/ConfigLoader.pm /^sub _options_used {$/;" s @@ -254,10 +283,8 @@ add_line t/Barfly.pm /^sub add_line {$/;" s adjust_executable t/Util.pm /^sub adjust_executable {$/;" s append_file t/Util.pm /^sub append_file {$/;" s are_mutually_exclusive t/mutex-options.t /^sub are_mutually_exclusive {$/;" s -bar t/range.t /^sub bar {$/;" s bar t/range/rangefile.pm /^sub bar {$/;" s basename lib/App/Ack/File.pm /^sub basename {$/;" s -bininst Makefile.PL /^bininst : $(ACK)$/;" l bisect dev/find-minimum-dep-versions.pl /^sub bisect (&@) {$/;" s build_ack_invocation t/Util.pm /^sub build_ack_invocation {$/;" s build_regex ack /^sub build_regex {$/;" s @@ -282,13 +309,12 @@ create_group lib/App/Ack/Filter/Is.pm /^sub create_group {$/;" s create_group lib/App/Ack/Filter/IsPath.pm /^sub create_group {$/;" s create_group lib/App/Ack/Filter/Match.pm /^sub create_group {$/;" s create_tempfile t/Util.pm /^sub create_tempfile {$/;" s -critic Makefile.PL /^critic:$/;" l die lib/App/Ack.pm /^sub die {$/;" s dir_cleanup t/named-pipes.t /^sub dir_cleanup {$/;" s display_invocation dev/timings.pl /^sub display_invocation {$/;" s do_ruby_test t/ack-show-types.t /^sub do_ruby_test {$/;" s exit_from_ack lib/App/Ack.pm /^sub exit_from_ack {$/;" s -expect_ackrcs t/internals/config-finder.t /^sub expect_ackrcs {$/;" s +expect_ackrcs t/config-finder.t /^sub expect_ackrcs {$/;" s file_loop_c ack /^sub file_loop_c {$/;" s file_loop_fg ack /^sub file_loop_fg {$/;" s file_loop_lL ack /^sub file_loop_lL {$/;" s @@ -308,16 +334,14 @@ filter lib/App/Ack/Filter/IsPathGroup.pm /^sub filter {$/;" s filter lib/App/Ack/Filter/Match.pm /^sub filter {$/;" s filter lib/App/Ack/Filter/MatchGroup.pm /^sub filter {$/;" s filter_out_perldoc_noise t/Util.pm /^sub filter_out_perldoc_noise {$/;" s -filter_test t/internals/FilterTest.pm /^sub filter_test {$/;" s +filter_test t/FilterTest.pm /^sub filter_test {$/;" s find_config_files lib/App/Ack/ConfigFinder.pm /^sub find_config_files {$/;" s first_line_like t/Util.pm /^sub first_line_like {$/;" s firstliney lib/App/Ack/File.pm /^sub firstliney {$/;" s -foo t/range.t /^sub foo {$/;" s foo t/range/rangefile.pm /^sub foo {$/;" s from_argv lib/App/Ack/Files.pm /^sub from_argv {$/;" s from_file lib/App/Ack/Files.pm /^sub from_file {$/;" s from_stdin lib/App/Ack/Files.pm /^sub from_stdin {$/;" s -fulltest Makefile.PL /^fulltest: test_classic test_standalone test_xt$/;" l get_arg_spec lib/App/Ack/ConfigLoader.pm /^sub get_arg_spec {$/;" s get_expected_options t/Util.pm /^sub get_expected_options {$/;" s get_file_id ack /^sub get_file_id {$/;" s @@ -348,13 +372,14 @@ invert lib/App/Ack/Filter/Inverse.pm /^sub invert {$/;" s is_cygwin t/Util.pm /^sub is_cygwin {$/;" s is_empty_array t/Util.pm /^sub is_empty_array {$/;" s is_filetype t/filetypes.t /^sub is_filetype {$/;" s -is_global_file t/internals/noenv.t /^sub is_global_file {$/;" s +is_global_file t/noenv.t /^sub is_global_file {$/;" s is_inverted lib/App/Ack/Filter.pm /^sub is_inverted {$/;" s is_inverted lib/App/Ack/Filter/Inverse.pm /^sub is_inverted {$/;" s is_lowercase lib/App/Ack.pm /^sub is_lowercase {$/;" s is_nonempty_array t/Util.pm /^sub is_nonempty_array {$/;" s is_windows t/Util.pm /^sub is_windows {$/;" s line_split t/Util.pm /^sub line_split {$/;" s +list_with_x_first t/Util.pm /^sub list_with_x_first {$/;" s lists_match t/Util.pm /^sub lists_match {$/;" s main Makefile.PL /^package main;$/;" p make_unreadable t/Util.pm /^sub make_unreadable {$/;" s @@ -377,16 +402,16 @@ new lib/App/Ack/Filter/IsPathGroup.pm /^sub new {$/;" s new lib/App/Ack/Filter/Match.pm /^sub new {$/;" s new lib/App/Ack/Filter/MatchGroup.pm /^sub new {$/;" s new t/Barfly.pm /^sub new {$/;" s -new t/internals/filter.t /^sub new {$/;" s +new t/filter.t /^sub new {$/;" s next lib/App/Ack/Files.pm /^sub next {$/;" s -no_home t/internals/config-finder.t /^sub no_home {$/;" s -nytprof Makefile.PL /^nytprof: all$/;" l +no_home t/config-finder.t /^sub no_home {$/;" s o t/file-permission.t /^sub o { return sprintf '%o', shift }$/;" s open lib/App/Ack/File.pm /^sub open {$/;" s option_in_usage t/ack-help.t /^sub option_in_usage {$/;" s options lib/App/Ack/ConfigDefault.pm /^sub options {$/;" s options_clean lib/App/Ack/ConfigDefault.pm /^sub options_clean {$/;" s output_to_pipe lib/App/Ack.pm /^sub output_to_pipe {$/;" s +permutate t/Util.pm /^sub permutate {$/;" s pipe_into_ack t/Util.pm /^sub pipe_into_ack {$/;" s pipe_into_ack_with_stderr t/Util.pm /^sub pipe_into_ack_with_stderr {$/;" s populate_filetypes t/filetypes.t /^sub populate_filetypes {$/;" s @@ -401,7 +426,7 @@ range_setup ack /^sub range_setup {$/;" s read_file t/Util.pm /^sub read_file {$/;" s read_rcfile lib/App/Ack/ConfigLoader.pm /^sub read_rcfile {$/;" s register_filter lib/App/Ack/Filter.pm /^sub register_filter {$/;" s -remove_defaults_and_globals t/internals/noenv.t /^sub remove_defaults_and_globals {$/;" s +remove_defaults_and_globals t/noenv.t /^sub remove_defaults_and_globals {$/;" s reset lib/App/Ack/File.pm /^sub reset {$/;" s reslash t/Util.pm /^sub reslash {$/;" s reslash_all t/Util.pm /^sub reslash_all {$/;" s @@ -425,20 +450,14 @@ show_help_rgb lib/App/Ack.pm /^sub show_help_rgb {$/;" s show_help_types lib/App/Ack.pm /^sub show_help_types {$/;" s show_man lib/App/Ack.pm /^sub show_man {$/;" s show_types lib/App/Ack.pm /^sub show_types {$/;" s -slurp t/internals/file-iterator.t /^sub slurp {$/;" s +slurp t/file-iterator.t /^sub slurp {$/;" s strip_special_chars xt/man.t /^sub strip_special_chars {$/;" s subtest_name t/Util.pm /^sub subtest_name {$/;" s -swamp_files t/internals/FilterTest.pm /^sub swamp_files {$/;" s -tags Makefile.PL /^tags:$/;" l -test Makefile.PL /^test: test_classic test_standalone$/;" l -test_classic Makefile.PL /^test_classic: all$/;" l -test_loader t/internals/config-loader.t /^sub test_loader {$/;" s +swamp_files t/FilterTest.pm /^sub swamp_files {$/;" s +test_loader t/config-loader.t /^sub test_loader {$/;" s test_match t/ack-match.t /^sub test_match {$/;" s -test_standalone Makefile.PL /^test_standalone: all ack-standalone$/;" l -test_xt Makefile.PL /^test_xt: all$/;" l thpppt lib/App/Ack.pm /^sub thpppt {$/;" s time_ack dev/timings.pl /^sub time_ack {$/;" s -timings Makefile.PL /^timings: ack-standalone$/;" l to_string lib/App/Ack/Filter.pm /^sub to_string {$/;" s to_string lib/App/Ack/Filter/Collection.pm /^sub to_string {$/;" s to_string lib/App/Ack/Filter/Extension.pm /^sub to_string {$/;" s @@ -454,5 +473,5 @@ touch_ackrc t/Util.pm /^sub touch_ackrc {$/;" s untaint t/Util.pm /^sub untaint {$/;" s warn lib/App/Ack.pm /^sub warn {$/;" s windows_slashify t/Util.pm /^sub windows_slashify {$/;" s -with_home t/internals/config-finder.t /^sub with_home {$/;" s +with_home t/config-finder.t /^sub with_home {$/;" s write_file t/Util.pm /^sub write_file {$/;" s