| Sepia documentation | view source | Contained in the Sepia distribution. |
@compls = completions($string [, $type])@compls = method_completions($expr, $string [,$eval])@locs = location(@names)@matches = apropos($name [, $is_regex])@names = mod_subs($pack)@decls = mod_decls($pack)$info = module_info($module, $type)$file = mod_file($mod)@mods = package_list@mods = module_list@mods = doc_listlexicals($subname)$lisp = tolisp($perl)printer(\@res, $wantarray)define_shortcut $name, $sub [, $doc [, $shortdoc]]repl()$PACKAGE -- evaluation package$PRINTER -- result printer (default: dumper)$PS1 -- the default prompt$STRICT -- whether 'use strict' is applied to input$WANTARRAY -- evaluation context$PRINT_PRETTY -- format some output nicely (default = 1)$REPL_LEVEL -- level of recursive repl() calls%REPL -- maps shortcut names to handlers%REPL_DOC -- maps shortcut names to documentation%REPL_SHORT -- maps shortcut names to brief usage
$status = html_module_list([$file [, $prefix]])$status = html_package_list([$file [, $prefix]])Sepia - Simple Emacs-Perl Interface
From inside Emacs:
M-x load-library RET sepia RET M-x sepia-repl RET
At the prompt in the *sepia-repl* buffer:
main @> ,help
For more information, please see Sepia.html or sepia.info, which come with the distribution.
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). This document is aimed as Sepia developers; for user documentation, see Sepia.html or sepia.info.
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,
which may be "SCALAR", "HASH", "ARRAY", "CODE", "IO", or the special
value "VARIABLE", which means either scalar, hash, or array.
Completion operates on word subparts separated by [:_], so
e.g. "S:m_w" completes to "Sepia::my_walksymtable".
@compls = method_completions($expr, $string [,$eval])Complete among methods on the object returned by $expr. The
$eval argument, if present, is a function used to do the
evaluation; the default is eval, but for example the Sepia REPL
uses Sepia::repl_eval. Warning: Since it has to evaluate
$expr, method completion can be extremely problematic. Use with
care.
@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_listGather a list of all distributions on the system. XXX UNUSED
@mods = module_listGather a list of all packages (.pm files, really) installed on the system, grouped by distribution. XXX UNUSED
@mods = doc_listGather 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, $wantarray)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.
define_shortcut $name, $sub [, $doc [, $shortdoc]]Define $name as a shortcut for function $sub.
repl()Execute a command interpreter on standard input and standard output.
If you want to use different descriptors, localize them before
calling repl(). The prompt has a few bells and whistles, including:
die is overridden to enter a debugging repl at the point
die is called.Behavior is controlled in part through the following package-globals:
$PACKAGE -- evaluation package$PRINTER -- result printer (default: dumper)$PS1 -- the default prompt$STRICT -- whether 'use strict' is applied to input$WANTARRAY -- evaluation context$PRINT_PRETTY -- format some output nicely (default = 1)Format some values nicely, independent of $PRINTER. Currently, this displays arrays of scalars as columns.
$REPL_LEVEL -- level of recursive repl() callsIf zero, then initialization takes place.
%REPL -- maps shortcut names to handlers%REPL_DOC -- maps shortcut names to documentation%REPL_SHORT -- maps shortcut names to brief usage$status = html_module_list([$file [, $prefix]])Generate an HTML list of installed modules, looking inside of
packages. If $prefix is missing, uses "about://perldoc/". If
$file is given, write the result to $file; otherwise, return it as a
string.
$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/". $file is the same as for html_module_list.
See the README file included with the distribution.
Sepia's public GIT repository is located at http://repo.or.cz/w/sepia.git.
There are several modules for Perl development in Emacs on CPAN, including Devel::PerlySense and PDE. For a complete list, see http://emacswiki.org/cgi-bin/wiki/PerlLanguage.
Sean O'Rourke, <seano@cpan.org>
Bug reports welcome, patches even more welcome.
Copyright (C) 2005-2009 Sean O'Rourke. All rights reserved, some wrongs reversed. This module is distributed under the same terms as Perl itself.
| Sepia documentation | view source | Contained in the Sepia distribution. |