NAME
Sepia - Simple Emacs-Perl Interface
SYNOPSIS
From inside Emacs:
M-x load-library RET sepia RET
M-x sepia-init RET
At the prompt in the *perl-interaction*
buffer:
main @> ,help
DESCRIPTION
Sepia is a set of features to make Emacs a better tool for Perl development. This package contains the Perl side of the implementation, including all user-serviceable parts (for the cross-referencing facility see Sepia::Xref).
Though not intended to be used independent of the Emacs interface, the Sepia module's functionality can be used through a rough procedural interface.
@compls = completions($string [, $type])
Find a list of completions for $string
with glob type $type. Completion operates on word subparts separated by [:_], so e.g. "S:m_w" completes to "Sepia::my_walksymtable".
@locs = location(@names)
Return a list of [file, line, name] triples, one for each function name in @names
.
@matches = apropos($name [, $is_regex])
Search for function $name
, either in all packages or, if $name
is qualified, only in one package. If $is_regex
is true, the non-package part of $name
is a regular expression.
@names = mod_subs($pack)
Find subs in package $pack
.
@decls = mod_decls($pack)
Generate a list of declarations for all subroutines in package $pack
.
$info = module_info($module, $type)
Emacs-called function to get module information.
$file = mod_file($mod)
Find the likely file owner for module $mod
.
@mods = package_list
Gather a list of all distributions on the system. XXX UNUSED
@mods = module_list
Gather a list of all packages (.pm files, really) installed on the system, grouped by distribution. XXX UNUSED
@mods = doc_list
Gather a list of all documented packages (.?pm files, really) installed on the system, grouped by distribution. XXX UNUSED
lexicals($subname)
Return a list of $subname
's lexical variables. Note that this includes all nested scopes -- I don't know if or how Perl distinguishes inner blocks.
$lisp = tolisp($perl)
Convert a Perl scalar to some ELisp equivalent.
printer(\@res [, $iseval])
Print @res
appropriately on the current filehandle. If $iseval
is true, use terse format. Otherwise, use human-readable format, which can use either Data::Dumper, YAML, or Data::Dump.
repl(\*FH)
Execute a command interpreter on FH. The prompt has a few bells and whistles, including:
* Obviously-incomplete lines are treated as multiline input (press
'return' twice or 'C-c' to discard).
* C<die> is overridden to enter a recursive interpreter at the point
C<die> is called. From within this interpreter, you can examine a
backtrace by calling "bt", return from C<die> with "r EXPR", or
go ahead and die by pressing Control-c.
Behavior is controlled in part through the following package-globals:
$PACKAGE
-- evaluation package$PRINTER
-- result printer (default: print_dumper)$PS1
-- the default prompt$STOPDIE
-- true to enter the inspector ondie()
$STOPWARN
-- true to enter the inspector onwarn()
$STRICT
-- whether 'use strict' is applied to input$WANTARRAY
-- evaluation context$PRINT_PRETTY
-- format some output nicely (default = 0)-
Format some values nicely, independent of $PRINTER. Currently, this displays arrays of scalars as columns.
%REPL
-- maps shortcut names to handlers%REPL_DOC
-- maps shortcut names to documentation
$status = html_module_list($file [, $prefix])
Generate an HTML list of installed modules, looking inside of packages. If $prefix
is missing, uses "about://perldoc/".
$status = html_package_list($file [, $prefix])
Generate an HTML list of installed top-level modules, without looking inside of packages. If $prefix
is missing, uses "about://perldoc/".
TODO
See the README file included with the distribution.
AUTHOR
Sean O'Rourke, <seano@cpan.org>
Bug reports welcome, patches even more welcome.
COPYRIGHT
Copyright (C) 2005-2007 Sean O'Rourke. All rights reserved, some wrongs reversed. This module is distributed under the same terms as Perl itself.