Class PerlLanguageSupport

    • Field Detail

      • 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 java.io.File perlInstallLoc
        The Perl install location currently being used.
      • DEFAULT_PERL_INSTALL_LOC

        private static final java.io.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 Detail

      • PerlLanguageSupport

        public PerlLanguageSupport()
        Constructor.
    • Method Detail

      • createDefaultCompletionCellRenderer

        protected javax.swing.ListCellRenderer<java.lang.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 java.io.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()
      • getPerlInstallLocation

        public static java.io.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:
        setPerlInstallLocation(File)
      • 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 java.lang.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:
        setPerl5LibOverride(String)
      • getUseParensWithFunctions

        public boolean getUseParensWithFunctions()
        Returns whether parens are inserted when auto-completing functions.
        Returns:
        Whether parens are inserted.
        See Also:
        setUseParensWithFunctions(boolean)
      • 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:
        setUseSystemPerldoc(boolean)
      • getWarningsEnabled

        public boolean getWarningsEnabled()
        Returns whether warnings are enabled when checking syntax.
        Returns:
        Whether warnings are enabled.
        See Also:
        setWarningsEnabled(boolean)
      • 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:
        setParsingEnabled(boolean)
      • isTaintModeEnabled

        public boolean isTaintModeEnabled()
        Returns whether taint mode is enabled when checking syntax.
        Returns:
        Whether taint mode is enabled.
        See Also:
        setTaintModeEnabled(boolean)
      • 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:
        isParsingEnabled()
      • setPerl5LibOverride

        public void setPerl5LibOverride​(java.lang.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:
        getPerl5LibOverride()
      • setPerlInstallLocation

        public static void setPerlInstallLocation​(java.io.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:
        getPerlInstallLocation()
      • 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:
        isTaintModeEnabled()
      • setWarningsEnabled

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

        public void setUseParensWithFunctions​(boolean use)
        Toggles whether parens are inserted when auto-completing functions.
        Parameters:
        use - Whether parens are inserted.
        See Also:
        getUseParensWithFunctions()
      • 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:
        getUseSystemPerldoc()
      • uninstall

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