Text::FindIndent man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Text::FindIndent(3)   User Contributed Perl Documentation  Text::FindIndent(3)

NAME
       Text::FindIndent - Heuristically determine the indent style

SYNOPSIS
	 use Text::FindIndent;
	 my $indentation_type = Text::FindIndent->parse($text, skip_pod => 1);
	 if ($indentation_type =~ /^s(\d+)/) {
	   print "Indentation with $1 spaces\n";
	 }
	 elsif ($indentation_type =~ /^t(\d+)/) {
	   print "Indentation with tabs, a tab should indent by $1 characters\n";
	 }
	 elsif ($indentation_type =~ /^m(\d+)/) {
	   print "Indentation with $1 characters in tab/space mixed mode\n";
	 }
	 else {
	   print "Indentation style unknown\n";
	 }

DESCRIPTION
       This is a module that attempts to intuit the underlying indent "policy"
       for a text file (most likely a source code file).

METHODS
   parse
       The class method "parse" tries to determine the indentation style of
       the given piece of text (which must start at a new line and can be
       passed in either as a string or as a reference to a scalar containing
       the string).

       Returns a letter followed by a number. If the letter is "s", then the
       text is most likely indented with spaces. The number indicates the
       number of spaces used for indentation. A "t" indicates tabs. The number
       after the "t" indicates the number characters each level of indentation
       corresponds to.	A "u" indicates that the indenation style could not be
       determined.  Finally, an "m" followed by a number means that this many
       characters are used for each indentation level, but the indentation is
       an arbitrary number of tabs followed by 0-7 spaces. This can happen if
       your editor is stupid enough to do smart indentation/whitespace
       compression. (I.e. replaces all indentations many tabs as possible but
       leaves the rest as spaces.)

       The function supports parsing of "vim" modelines. Those settings
       override the heuristics. The modeline's options that are recognized are
       "sts"/"softtabstob", "et"/"noet"/"expandtabs"/"noexpandtabs", and
       "ts"/"tabstop".

       Similarly, parsing of "emacs" Local Variables is somewhat supported.
       "parse" use explicit settings to override the heuristics but uses style
       settings only as a fallback. The following options are recognized:
       "tab-width", "indent-tabs-mode", "c-basic-offset", and "style".

       There is one named option that you can pass to "parse()": "skip_pod".
       When set to true, any section of POD (see perlpod) will be ignored for
       indentation finding. This is because verbatim paragraphs and examples
       embedded in POD or quite often indented differently from normal Perl
       code around the POD section. Defaults to false. Example:

	 my $mode = Text::FindIndent->parse(\$text, skip_pod => 1);

   to_vim_commands
       A class method that converts the output of "parse(\$text)" into a
       series of vi(m) commands that will configure vim to use the detected
       indentation setting. Returns zero (failure) or more lines of text that
       are suitable for passing to "VIM::DoCommand()" one by one.

       As a convenience, if the argument to "to_vim_commands" doesn't look
       like the output of "parse", it is redirected to "parse" first.

       To use this, you can put the following line in your .vimrc if your vim
       has Perl support. Suggestions on how to do this in a more elegant way
       are welcome.  The code should be on one line but is broken up for
       displaying:

	 map <F5> <Esc> :perl use Text::FindIndent;VIM::DoCommand($_) for
	 Text::FindIndent->to_vim_commands(join "\n", $curbuf->Get(1..$curbuf->Count()));<CR>

       (Patches to implement the equivalent for emacs would be welcome as
       well.)

SUPPORT
       Bugs should be reported via the CPAN bug tracker at

       http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Text-FindIndent
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Text-FindIndent>

       For other issues, contact the author.

AUTHOR
       Steffen Mueller <smueller@cpan.org>

       Adam Kennedy <adamk@cpan.org>

COPYRIGHT
       Copyright 2008 - 2010 Steffen Mueller.

       Copyright 2008 - 2010 Adam Kennedy,

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       The full text of the license can be found in the LICENSE file included
       with this module.

perl v5.14.0			  2011-01-04		   Text::FindIndent(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net