---
name: "Prophet::CLI::TextEditorCommand"
section: "3pm"
platform: "linux"
package: "libprophet-perl"
version: "0.743-1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Prophet::CLI::TextEditorCommand"
---

# Prophet::CLI::TextEditorCommand(3pm)

### separator\_pattern

A pattern that will match on lines that count as section separators in record templates. Separator string text is remembered as `$1`.

### comment\_pattern

A pattern that will match on lines that count as comments in record templates.

### build\_separator $text

Takes a string and returns it in separator form. A separator is a line of text that denotes a section in a template.

### build\_template\_section header =\> '=== foo ===' \[, data =\> 'bar'\]

Takes a header text string and (optionally) a data string and formats them into a template section.

### try\_to\_edit template =\> \\$tmpl \[, record =\> $record \]

Edits the given template if possible. Passes the updated template in to process\_template (errors in the updated template must be handled there, not here).

### handle\_template\_errors error =\> 'foo', template\_ref =\> \\$tmpl\_str, bad\_template =\> 'bar', rtype =\> 'ticket'

Should be called in `"process_template"` if errors (usually validation ones) occur while processing a record template. This method prompts the user to re-edit and updates the template given by `"template_ref"` to contain the bad template (given by the arg `"bad_template"` prefixed with the error messages given in the `"error"` arg. If an errors section already exists in the template, it is replaced with an errors section containing the new errors.

If the template you are editing is not section-based, you can override what will be prepended to the template by passing in the `"errors_pattern"` argument, and passing in `"old_errors"` if a template errors out repeatedly and there are old errors in the template that need to be replaced.

Other arguments are: `"rtype"`: the type of the record being edited. All arguments except overrides (`"errors_pattern"` and `"old_errors"` are required.

## calling code must implement

run process\_template
