logo

Clj Filter

← Back to Filter List

Clj


Runs clojure.

Aliases for this filter

  • clj
  • cljint

Converts from file formats:

  • .clj
  • .txt

To file formats:

  • .txt

Available settings:

SettingDescriptionDefault
add-new-filesBoolean or list of extensions/patterns to match.False
added-in-versionDexy version when this filter was first available.
additional-doc-filtersFilters to apply to additional documents created as side effects.{}
additional-doc-settingsSettings to apply to additional documents created as side effects.{}
allow-match-prompt-without-newlineWhether to require a newline before prompt.False
argsArguments to be passed to the executable.
check-return-codeWhether to look for nonzero return code.False
clargsArguments to be passed to the executable (same as 'args').
command-stringThe full command string.%(prog)s %(args)s "%(script_file)s" %(scriptargs)s "%(output_file)s"
data-typeAlias of custom data class to use to store filter output.sectioned
envDictionary of key-value pairs to be added to environment for runs.{}
examplesTemplates which should be used as examples for this filter.[]
exclude-add-new-filesList of patterns to skip even if they match add-new-files.[]
exclude-new-files-from-dirList of directories to skip when adding new files.[]
executableThe executable to be runclojure -r
extFile extension to output.None
extension-mapDictionary mapping input extensions to default output extensions.None
helpHelpstring for plugin.Runs clojure.
initial-promptThe initial prompt the REPL will display.None
initial-timeout10
input-extensionsList of extensions which this filter can accept as input.[u'.clj', u'.txt']
keep-originalsWhether, if additional-doc-filters are specified, the original unmodified docs should also be added.False
line-endingThe line ending returned by REPL.
mkdirA directory which should be created in working dir.None
mkdirsA list of directories which should be created in working dir.[]
nodocWhether filter should be excluded from documentation.False
outputWhether to output results of this filter by default by reporters such as 'output' or 'website'.False
output-extensionsList of extensions which this filter can produce as output.[u'.txt']
override-workspace-exclude-filtersIf True, document will be populated to other workspaces ignoring workspace-exclude-filters.False
path-extensionsstrings to extend path with[]
preserve-prior-data-classWhether output data class should be set to match the input data class.False
promptSingle prompt to match exactly.user=>
prompt-regexA prompt regex to match.None
promptsList of possible prompts to match exactly.[u'>>>', u'...']
ps1PS1None
ps2PS2None
ps3PS3None
ps4PS4None
record-varsWhether to add code that will automatically record values of variables.False
require-outputShould dexy raise an exception if no output is produced by this filter?True
save-vars-to-json-cmdCommand to be run to save variables to a JSON file.None
scriptargsArguments to be passed to the executable.
send-line-endingLine ending to transmit at the end of each input line.
strip-regexRegex to stripNone
tagsTags which describe the filter.[u'code', u'clojure', u'repl']
termTERMdumb
timeout10
trim-promptThe closing prompt to be trimmed off.>>>
use-wdWhether to use a custom working directory when running filter.True
variablesA dictionary of variable names and values to make available to this filter.{}
varsA dictionary of variable names and values to make available to this filter.{}
version-commandCommand to call to return version of installed software.None
windows-version-commandCommand to call on windows to return version of installed software.None
workspace-exclude-filtersFilters whose output should be excluded from workspace.[u'pyg']
workspace-includesIf set to a list of filenames or extensions, only these will be populated to working dir.None
write-stderr-to-stdoutShould stderr be piped to stdout?True
Filter Source Code
class ClojureInteractiveFilter(PexpectReplFilter):
    """
    Runs clojure.
    """
    aliases = ['clj', 'cljint']
    _settings = {
            'check-return-code' : False,
            'executable' : 'clojure -r',
            'tags' : ['code', 'clojure', 'repl'],
            'input-extensions' : [".clj", ".txt"],
            'output-extensions' : [".txt"],
            'prompt' : "user=> "
            }

    def lines_for_section(self, input_text):
        input_lines = []
        current_line = []
        in_indented_block = False
        for l in input_text.splitlines():
            if re.match("^\s+", l):
                in_indented_block = True
                current_line.append(l)
            else:
                if len(current_line) > 0:
                    input_lines.append("\n".join(current_line))
                if in_indented_block:
                    # we have reached the end of this indented block
                    in_indented_block = False
                current_line = [l]
        input_lines.append("\n".join(current_line))
        return input_lines

Content © 2013 Dr. Ana Nelson | Site Design © Copyright 2011 Andre Gagnon | All Rights Reserved.