zile-config-file

Description

Configuration for the 'zile' text editor

Variables

Name Type Default Description

path

string --

The path to the file. Required

auto_fill_mode

boolean False

If non-nil, Auto Fill Mode is automatically enabled. Default value is nil.

backup_directory

string nil

The directory for backup files, which must exist. If this variable is nil, the backup is made in the original file's directory. This value is used only when `make-backup-files' is t. Default value is nil.

case_fold_search

boolean True

Non-nil means searches ignore case. Default value is t.

case_replace

boolean True

'true' means 'query-replace' shold preserve case in replacements

fill_column

integer 70

Column beyond which automatic line-wrapping should happen. Automatically becomes buffer-local when set in any fashion. Default value is 70.

group

string --

The group of the file.

highlight_nonselected_windows

boolean False

if 'true', highlight region even in nonselected windows

indent_tabs_mode

boolean True

If non-nil, insert-tab inserts "real" tabs; otherwise, it always inserts spaces. Default value is t.

inhabit_splash_screen

boolean False

Non-nil inhibits the startup screen. It also inhibits display of the initial message in the `scratch' buffer. Default value is nil.

key_bindings

dict ordereddict()

Rebind keys.

kill_whole_line

boolean False

If non-nil, `kill-line' with no arg at beg of line kills the whole line. Default value is nil.

make_backup_files

boolean True

Non-nil means make a backup of a file the first time it is saved. This is done by appending `~' to the file name. Default value is t.

mode

string --

The permissions of the file.

owner

string --

The owner of the file.

ring_bell

boolean True

'true' means ring the terminal bell on any error

standard_indent

integer 4

default number of columns for margin-changing functions to indent

tab_always_indent

boolean True

Controls the operation of the TAB key. If t, hitting TAB always just indents the current line. If nil, hitting TAB indents the current line if point is at the left margin or in the line's indentation, otherwise it inserts a "real" TAB character. Default value is t.

tab_width

integer 8

Distance between tab stops (for display of tab characters), in columns. Default value is 8.

Code

doc:
  short_help: Configuration for the 'zile' text editor

args:
  var_name:
    doc:
      short_help: The config variable name.
    type: string
    required: true
  var_value:
    doc:
      short_help: The config variable value.
    type: string
    required: true
  vars_dict:
    doc:
      short_help: a map of config key value pairs
    type: dict
    required: true
    cli:
      enabled: true
  key_bindings:
    required: false
    doc:
      short_help: Rebind keys.
    type: dict
    default: {}
    empty: true
    cli:
      show_default: false
  inhabit_splash_screen:
    doc:
      short_help: whether to inhibit the startup screen
      help: |
        Non-nil inhibits the startup screen.
        It also inhibits display of the initial message in the `*scratch*' buffer.
        Default value is nil.
    type: boolean
    default: false
  standard_indent:
    doc:
      short_help: default number of columns for margin-changing functions to indent
    type: integer
    min: 0
    default: 4
  tab_width:
    doc:
      short_help: distance between tab stops
      help: |
        Distance between tab stops (for display of tab characters), in columns.
        Default value is 8.
    type: integer
    min: 0
    default: 8
  tab_always_indent:
    doc:
      short_help: controls the operation of the TAB key
      help: |
        Controls the operation of the TAB key.
        If t, hitting TAB always just indents the current line.
        If nil, hitting TAB indents the current line if point is at the
        left margin or in the line's indentation, otherwise it inserts a
        "real" TAB character.
        Default value is t.
    type: boolean
    default: true
  indent_tabs_mode:
    doc:
      short_help: use tabs or whitespaces
      help: |
        If non-nil, insert-tab inserts "real" tabs; otherwise, it always inserts
        spaces.
        Default value is t.
    type: boolean
    default: true
  fill_column:
    doc:
      short_help: column beyond which automatic line-wrapping should happen
      help: |
        Column beyond which automatic line-wrapping should happen.
        Automatically becomes buffer-local when set in any fashion.
        Default value is 70.
    type: integer
    min: 0
    default: 70
  auto_fill_mode:
    doc:
      short_help: enable auto-filll-mode
      help: |
        If non-nil, Auto Fill Mode is automatically enabled.
        Default value is nil.
    default: false
    type: boolean
  kill_whole_line:
    doc:
      short_help: whether 'kill-line' with no arg starts at the beginning of line
      help: |
        If non-nil, `kill-line' with no arg at beg of line kills the whole line.
        Default value is nil.
    type: boolean
    default: false
  case_fold_search:
    doc:
      short_help: "'true' means searches ignore case"
      help: |
        Non-nil means searches ignore case.
        Default value is t.
    type: boolean
    default: true
  case_replace:
    type: boolean
    doc:
      short_help: "'true' means 'query-replace' shold preserve case in replacements"
    default: true
  ring_bell:
    doc:
      short_help: "'true' means ring the terminal bell on any error"
    type: boolean
    default: true
  highlight_nonselected_windows:
    doc:
      short_help: if 'true', highlight region even in nonselected windows
    type: boolean
    default: false
  make_backup_files:
    doc:
      short_help: "'true' means make a backup of a file the first time it is saved."
      help: |
        Non-nil means make a backup of a file the first time it is saved.
        This is done by appending `~' to the file name.
        Default value is t.
    type: boolean
    default: true
  backup_directory:
    doc:
      short_help: the directory for backup files, which must exist
      help: |
        The directory for backup files, which must exist.
        If this variable is nil, the backup is made in the original file's
        directory.
        This value is used only when `make-backup-files' is t.
        Default value is nil.
    type: string
    default: nil
  global_set_keys:
    required: false
    doc:
      short_help: rebound keys
    type: dict
    schema:
      key:
        type: string
      func:
        type: string
  _import:
  - file-with-content
frecklets:
- file-with-content:
    path: '{{:: path ::}}'
    group: '{{:: group ::}}'
    owner: '{{:: owner ::}}'
    mode: '{{:: mode ::}}'
    content: |-
      ;;;; .zile configuration

      ;; Rebind keys with:
      ;; (global-set-key "key" 'func)
      {%:: for key, value in key_bindings.items() ::%}
      (global-set-key "{{:: key ::}}" '{{:: value ::}})
      {%:: endfor ::%}

      ; Non-nil inhibits the startup screen.
      ; It also inhibits display of the initial message in the `*scratch*' buffer.
      ; Default value is nil.
      (setq inhibit-splash-screen {{:: inhabit_splash_screen | string_for_boolean('t', 'nil') ::}})

      ; Default number of columns for margin-changing functions to indent.
      ; Default value is 4.
      (setq standard-indent {{:: standard_indent ::}})

      ; Distance between tab stops (for display of tab characters), in columns.
      ; Default value is 8.
      (setq tab-width {{:: tab_width ::}})

      ; Controls the operation of the TAB key.
      ; If t, hitting TAB always just indents the current line.
      ; If nil, hitting TAB indents the current line if point is at the
      ; left margin or in the line's indentation, otherwise it inserts a
      ; "real" TAB character.
      ; Default value is t.
      (setq tab-always-indent {{:: tab_always_indent | string_for_boolean('t', 'nil') ::}})

      ; If non-nil, insert-tab inserts "real" tabs; otherwise, it always inserts
      ; spaces.
      ; Default value is t.
      (setq indent-tabs-mode {{:: indent_tabs_mode | string_for_boolean('t', 'nil') ::}})

      ; Column beyond which automatic line-wrapping should happen.
      ; Automatically becomes buffer-local when set in any fashion.
      ; Default value is 70.
      (setq fill-column {{:: fill_column ::}})

      ; If non-nil, Auto Fill Mode is automatically enabled.
      ; Default value is nil.
      (setq auto-fill-mode {{:: auto_fill_mode | string_for_boolean('t', 'nil') ::}})

      ; If non-nil, `kill-line' with no arg at beg of line kills the whole line.
      ; Default value is nil.
      (setq kill-whole-line {{:: kill_whole_line | string_for_boolean('t', 'nil') ::}})

      ; Non-nil means searches ignore case.
      ; Default value is t.
      (setq case-fold-search {{:: case_fold_search | string_for_boolean('t', 'nil') ::}})

      ; Non-nil means `query-replace' should preserve case in replacements.
      ; Default value is t.
      (setq case-replace {{:: case_replace | string_for_boolean('t', 'nil') ::}})

      ; Non-nil means ring the terminal bell on any error.
      ; Default value is t.
      (setq ring-bell {{:: ring_bell | string_for_boolean('t', 'nil') ::}})

      ; If non-nil, highlight region even in nonselected windows.
      ; Default value is nil.
      (setq highlight-nonselected-windows {{:: highlight_nonselected_windows | string_for_boolean('t', 'nil') ::}})

      ; Non-nil means make a backup of a file the first time it is saved.
      ; This is done by appending `~' to the file name.
      ; Default value is t.
      (setq make-backup-files {{:: make_backup_files | string_for_boolean('t', 'nil') ::}})

      ; The directory for backup files, which must exist.
      ; If this variable is nil, the backup is made in the original file's
      ; directory.
      ; This value is used only when `make-backup-files' is t.
      ; Default value is nil.
      (setq backup-directory {{:: backup_directory ::}})
frecklecute zile-config-file --help

Usage: frecklecute zile-config-file [OPTIONS] PATH

  Configuration for the 'zile' text editor

Options:
  --auto-fill-mode / --no-auto-fill-mode
                                  enable auto-filll-mode
  --backup-directory BACKUP_DIRECTORY
                                  the directory for backup files, which must
                                  exist
  --case-fold-search / --no-case-fold-search
                                  'true' means searches ignore case
  --case-replace / --no-case-replace
                                  'true' means 'query-replace' shold preserve
                                  case in replacements
  --fill-column FILL_COLUMN       column beyond which automatic line-wrapping
                                  should happen
  --group GROUP                   The group of the file.
  --highlight-nonselected-windows / --no-highlight-nonselected-windows
                                  if 'true', highlight region even in
                                  nonselected windows
  --indent-tabs-mode / --no-indent-tabs-mode
                                  use tabs or whitespaces
  --inhabit-splash-screen / --no-inhabit-splash-screen
                                  whether to inhibit the startup screen
  --key-bindings KEY_BINDINGS     Rebind keys.
  --kill-whole-line / --no-kill-whole-line
                                  whether 'kill-line' with no arg starts at
                                  the beginning of line
  --make-backup-files / --no-make-backup-files
                                  'true' means make a backup of a file the
                                  first time it is saved.
  --mode MODE                     The permissions of the file.
  --owner USER                    The owner of the file.
  --ring-bell / --no-ring-bell    'true' means ring the terminal bell on any
                                  error
  --standard-indent STANDARD_INDENT
                                  default number of columns for margin-
                                  changing functions to indent
  --tab-always-indent / --no-tab-always-indent
                                  controls the operation of the TAB key
  --tab-width TAB_WIDTH           distance between tab stops
  --help                          Show this message and exit.
# -*- coding: utf-8 -*-


#
# module path: pycklets.zile_config_file.ZileConfigFile
#


from dataclasses import dataclass
from pyckles import AutoPycklet
from typing import *    # noqa

@dataclass
class ZileConfigFile(AutoPycklet):
    """Configuration for the 'zile' text editor

       Args:
         auto_fill_mode: enable auto-filll-mode
         backup_directory: the directory for backup files, which must exist
         case_fold_search: 'true' means searches ignore case
         case_replace: 'true' means 'query-replace' shold preserve case in replacements
         fill_column: column beyond which automatic line-wrapping should happen
         group: The group of the file.
         highlight_nonselected_windows: if 'true', highlight region even in nonselected windows
         indent_tabs_mode: use tabs or whitespaces
         inhabit_splash_screen: whether to inhibit the startup screen
         key_bindings: Rebind keys.
         kill_whole_line: whether 'kill-line' with no arg starts at the beginning of line
         make_backup_files: 'true' means make a backup of a file the first time it is saved.
         mode: The permissions of the file.
         owner: The owner of the file.
         path: The path to the file.
         ring_bell: 'true' means ring the terminal bell on any error
         standard_indent: default number of columns for margin-changing functions to indent
         tab_always_indent: controls the operation of the TAB key
         tab_width: distance between tab stops

    """

    FRECKLET_ID = "zile-config-file"

    auto_fill_mode: bool = None
    backup_directory: str = None
    case_fold_search: bool = None
    case_replace: bool = None
    fill_column: int = None
    group: str = None
    highlight_nonselected_windows: bool = None
    indent_tabs_mode: bool = None
    inhabit_splash_screen: bool = None
    key_bindings: Dict = None
    kill_whole_line: bool = None
    make_backup_files: bool = None
    mode: str = None
    owner: str = None
    path: str = None
    ring_bell: bool = None
    standard_indent: int = None
    tab_always_indent: bool = None
    tab_width: int = None


    def __post_init__(self):
        super(ZileConfigFile, self).__init__(var_names=["auto_fill_mode", "backup_directory", "case_fold_search", "case_replace", "fill_column", "group", "highlight_nonselected_windows", "indent_tabs_mode", "inhabit_splash_screen", "key_bindings", "kill_whole_line", "make_backup_files", "mode", "owner", "path", "ring_bell", "standard_indent", "tab_always_indent", "tab_width"])


frecklet_class = ZileConfigFile
# -*- coding: utf-8 -*-


#
# module path: pycklets.zile_config_file.ZileConfigFile
#


from pyckles import AutoPycklet

class ZileConfigFile(AutoPycklet):
    """Configuration for the 'zile' text editor

       Args:
         auto_fill_mode: enable auto-filll-mode
         backup_directory: the directory for backup files, which must exist
         case_fold_search: 'true' means searches ignore case
         case_replace: 'true' means 'query-replace' shold preserve case in replacements
         fill_column: column beyond which automatic line-wrapping should happen
         group: The group of the file.
         highlight_nonselected_windows: if 'true', highlight region even in nonselected windows
         indent_tabs_mode: use tabs or whitespaces
         inhabit_splash_screen: whether to inhibit the startup screen
         key_bindings: Rebind keys.
         kill_whole_line: whether 'kill-line' with no arg starts at the beginning of line
         make_backup_files: 'true' means make a backup of a file the first time it is saved.
         mode: The permissions of the file.
         owner: The owner of the file.
         path: The path to the file.
         ring_bell: 'true' means ring the terminal bell on any error
         standard_indent: default number of columns for margin-changing functions to indent
         tab_always_indent: controls the operation of the TAB key
         tab_width: distance between tab stops

    """

    FRECKLET_ID = "zile-config-file"

    def __init__(self, auto_fill_mode=None, backup_directory="nil", case_fold_search=True, case_replace=True, fill_column=70, group=None, highlight_nonselected_windows=None, indent_tabs_mode=True, inhabit_splash_screen=None, key_bindings=None, kill_whole_line=None, make_backup_files=True, mode=None, owner=None, path=None, ring_bell=True, standard_indent=4, tab_always_indent=True, tab_width=8):

        super(ZileConfigFile, self).__init__(var_names=["auto_fill_mode", "backup_directory", "case_fold_search", "case_replace", "fill_column", "group", "highlight_nonselected_windows", "indent_tabs_mode", "inhabit_splash_screen", "key_bindings", "kill_whole_line", "make_backup_files", "mode", "owner", "path", "ring_bell", "standard_indent", "tab_always_indent", "tab_width"])
        self._auto_fill_mode = auto_fill_mode
        self._backup_directory = backup_directory
        self._case_fold_search = case_fold_search
        self._case_replace = case_replace
        self._fill_column = fill_column
        self._group = group
        self._highlight_nonselected_windows = highlight_nonselected_windows
        self._indent_tabs_mode = indent_tabs_mode
        self._inhabit_splash_screen = inhabit_splash_screen
        self._key_bindings = key_bindings
        self._kill_whole_line = kill_whole_line
        self._make_backup_files = make_backup_files
        self._mode = mode
        self._owner = owner
        self._path = path
        self._ring_bell = ring_bell
        self._standard_indent = standard_indent
        self._tab_always_indent = tab_always_indent
        self._tab_width = tab_width

    @property
    def auto_fill_mode(self):
        return self._auto_fill_mode

    @auto_fill_mode.setter
    def auto_fill_mode(self, auto_fill_mode):
        self._auto_fill_mode = auto_fill_mode

    @property
    def backup_directory(self):
        return self._backup_directory

    @backup_directory.setter
    def backup_directory(self, backup_directory):
        self._backup_directory = backup_directory

    @property
    def case_fold_search(self):
        return self._case_fold_search

    @case_fold_search.setter
    def case_fold_search(self, case_fold_search):
        self._case_fold_search = case_fold_search

    @property
    def case_replace(self):
        return self._case_replace

    @case_replace.setter
    def case_replace(self, case_replace):
        self._case_replace = case_replace

    @property
    def fill_column(self):
        return self._fill_column

    @fill_column.setter
    def fill_column(self, fill_column):
        self._fill_column = fill_column

    @property
    def group(self):
        return self._group

    @group.setter
    def group(self, group):
        self._group = group

    @property
    def highlight_nonselected_windows(self):
        return self._highlight_nonselected_windows

    @highlight_nonselected_windows.setter
    def highlight_nonselected_windows(self, highlight_nonselected_windows):
        self._highlight_nonselected_windows = highlight_nonselected_windows

    @property
    def indent_tabs_mode(self):
        return self._indent_tabs_mode

    @indent_tabs_mode.setter
    def indent_tabs_mode(self, indent_tabs_mode):
        self._indent_tabs_mode = indent_tabs_mode

    @property
    def inhabit_splash_screen(self):
        return self._inhabit_splash_screen

    @inhabit_splash_screen.setter
    def inhabit_splash_screen(self, inhabit_splash_screen):
        self._inhabit_splash_screen = inhabit_splash_screen

    @property
    def key_bindings(self):
        return self._key_bindings

    @key_bindings.setter
    def key_bindings(self, key_bindings):
        self._key_bindings = key_bindings

    @property
    def kill_whole_line(self):
        return self._kill_whole_line

    @kill_whole_line.setter
    def kill_whole_line(self, kill_whole_line):
        self._kill_whole_line = kill_whole_line

    @property
    def make_backup_files(self):
        return self._make_backup_files

    @make_backup_files.setter
    def make_backup_files(self, make_backup_files):
        self._make_backup_files = make_backup_files

    @property
    def mode(self):
        return self._mode

    @mode.setter
    def mode(self, mode):
        self._mode = mode

    @property
    def owner(self):
        return self._owner

    @owner.setter
    def owner(self, owner):
        self._owner = owner

    @property
    def path(self):
        return self._path

    @path.setter
    def path(self, path):
        self._path = path

    @property
    def ring_bell(self):
        return self._ring_bell

    @ring_bell.setter
    def ring_bell(self, ring_bell):
        self._ring_bell = ring_bell

    @property
    def standard_indent(self):
        return self._standard_indent

    @standard_indent.setter
    def standard_indent(self, standard_indent):
        self._standard_indent = standard_indent

    @property
    def tab_always_indent(self):
        return self._tab_always_indent

    @tab_always_indent.setter
    def tab_always_indent(self, tab_always_indent):
        self._tab_always_indent = tab_always_indent

    @property
    def tab_width(self):
        return self._tab_width

    @tab_width.setter
    def tab_width(self, tab_width):
        self._tab_width = tab_width



frecklet_class = ZileConfigFile