Class PerlLanguageSupport

java.lang.Object
org.fife.rsta.ac.AbstractLanguageSupport
org.fife.rsta.ac.perl.PerlLanguageSupport
All Implemented Interfaces:
LanguageSupport

public class PerlLanguageSupport extends AbstractLanguageSupport
Language support for Perl.
Version:
1.0
  • Field Details

    • provider

      private PerlCompletionProvider provider
      The completion provider. This is shared amongst all Perl text areas.
    • parser

      private PerlParser parser
      The parser. This is shared amongst all Perl text areas.
    • perlInstallLoc

      private static File perlInstallLoc
      The Perl install location currently being used.
    • DEFAULT_PERL_INSTALL_LOC

      private static final File DEFAULT_PERL_INSTALL_LOC
      The root directory of the default Perl install.
    • useParensWithFunctions

      private static boolean useParensWithFunctions
      Whether parens should be used around arguments to functions.
    • useSystemPerldoc

      private static boolean useSystemPerldoc
      Whether to use the system "perldoc" command for function descriptions. This parameter is ignored if DEFAULT_PERL_INSTALL_LOC is false.
  • Constructor Details

    • PerlLanguageSupport

      public PerlLanguageSupport()
      Constructor.
  • Method Details

    • createDefaultCompletionCellRenderer

      protected ListCellRenderer<Object> createDefaultCompletionCellRenderer()
      Creates the default cell renderer to use when none is specified. Subclasses can override this method if there is a "better" default renderer for a specific language.
      Overrides:
      createDefaultCompletionCellRenderer in class AbstractLanguageSupport
      Returns:
      The default renderer for the completion list.
    • getDefaultPerlInstallLocation

      public static File getDefaultPerlInstallLocation()
      Returns the location of the first Perl install located on the user's PATH.
      Returns:
      The "default" location at which Perl is installed.
      See Also:
    • getPerlInstallLocation

      public static File getPerlInstallLocation()
      Returns the Perl install that is being used for syntax checking.
      Returns:
      The location at which Perl is installed, or null if none is currently selected.
      See Also:
    • getParser

      private PerlParser getParser()
      Returns the shared parser, lazily creating it if necessary.
      Returns:
      The parser.
    • getParser

      public PerlParser getParser(org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea)
      Returns the Perl parser running on a text area with this Perl language support installed.
      Parameters:
      textArea - The text area.
      Returns:
      The Perl parser. This will be null if the text area does not have this PerlLanguageSupport installed.
    • getProvider

      private PerlCompletionProvider getProvider()
      Lazily creates the shared completion provider instance for Perl.
      Returns:
      The completion provider.
    • getPerl5LibOverride

      public String getPerl5LibOverride()
      Returns the value to use for PERL5LIB when parsing Perl code.
      Returns:
      The value, or null to use the system default.
      See Also:
    • getUseParensWithFunctions

      public boolean getUseParensWithFunctions()
      Returns whether parens are inserted when auto-completing functions.
      Returns:
      Whether parens are inserted.
      See Also:
    • getUseSystemPerldoc

      public static boolean getUseSystemPerldoc()
      Returns whether to use the system "perldoc" command when getting descriptions of Perl functions. If this is false, then a built-in snapshot of Perl 5.10 descriptions will be used. This will perform better, but may be out of date if your version of Perl is newer.

      Note that this parameter is ignored if getPerlInstallLocation() returns null.

      Returns:
      Whether to use the system "perldoc" command.
      See Also:
    • getWarningsEnabled

      public boolean getWarningsEnabled()
      Returns whether warnings are enabled when checking syntax.
      Returns:
      Whether warnings are enabled.
      See Also:
    • install

      public void install(org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea)
      Description copied from interface: LanguageSupport
      Installs this support.
      Parameters:
      textArea - The text area to install onto.
      See Also:
    • isParsingEnabled

      public boolean isParsingEnabled()
      Returns whether text areas with this language support installed are parsed for syntax errors.

      Note that if getPerlInstallLocation() returns null or an invalid value, parsing will not occur even if this value is true.

      Returns:
      Whether parsing is enabled.
      See Also:
    • isTaintModeEnabled

      public boolean isTaintModeEnabled()
      Returns whether taint mode is enabled when checking syntax.
      Returns:
      Whether taint mode is enabled.
      See Also:
    • setParsingEnabled

      public void setParsingEnabled(boolean enabled)
      Toggles whether text areas with this language support installed are parsed for syntax errors.
      Parameters:
      enabled - Whether parsing should be enabled.
      See Also:
    • setPerl5LibOverride

      public void setPerl5LibOverride(String override)
      Sets the value to use for PERL5LIB when parsing Perl code.
      Parameters:
      override - The value, or null to use the system default.
      See Also:
    • setPerlInstallLocation

      public static void setPerlInstallLocation(File loc)
      Sets the Perl install to use for syntax checking, perldoc, etc.
      Parameters:
      loc - The root directory of the Perl installation, or null for none.
      See Also:
    • setTaintModeEnabled

      public void setTaintModeEnabled(boolean enabled)
      Toggles whether taint mode is enabled when checking syntax.
      Parameters:
      enabled - Whether taint mode should be enabled.
      See Also:
    • setWarningsEnabled

      public void setWarningsEnabled(boolean enabled)
      Toggles whether warnings are returned when checking syntax.
      Parameters:
      enabled - Whether warnings are enabled.
      See Also:
    • setUseParensWithFunctions

      public void setUseParensWithFunctions(boolean use)
      Toggles whether parens are inserted when auto-completing functions.
      Parameters:
      use - Whether parens are inserted.
      See Also:
    • setUseSystemPerldoc

      public static void setUseSystemPerldoc(boolean use)
      Sets whether to use the system "perldoc" command when getting descriptions of Perl functions. If this is false, then a built-in snapshot of Perl 5.10 descriptions will be used. This will perform better, but may be out of date if your version of Perl is newer.

      Note that this parameter is ignored if getPerlInstallLocation() returns null.

      Parameters:
      use - Whether to use the system "perldoc" command.
      See Also:
    • uninstall

      public void uninstall(org.fife.ui.rsyntaxtextarea.RSyntaxTextArea textArea)
      Uninstalls this support.
      Parameters:
      textArea - The text area to uninstall from.
      See Also: