diff options
| author | Mattias Andrée <maandree@operamail.com> | 2013-09-20 14:14:14 +0200 |
|---|---|---|
| committer | Mattias Andrée <maandree@operamail.com> | 2013-09-20 14:14:14 +0200 |
| commit | 78d6326aca1f7971bf621283c722153304372154 (patch) | |
| tree | a6594f502461b67481aab613ec06a724e88c149f /src/common.py | |
| parent | begin edit method wrapping (diff) | |
| download | pytagomacs-78d6326aca1f7971bf621283c722153304372154.tar.gz pytagomacs-78d6326aca1f7971bf621283c722153304372154.tar.bz2 pytagomacs-78d6326aca1f7971bf621283c722153304372154.tar.xz | |
wrapping complete, but not history tracking implemented
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src/common.py')
| -rw-r--r-- | src/common.py | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/common.py b/src/common.py new file mode 100644 index 0000000..3e4ee7b --- /dev/null +++ b/src/common.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +''' +pytagomacs – An Emacs like key–value editor library for Python + +Copyright © 2013 Mattias Andrée (maandree@member.fsf.org) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +''' + + + +INACTIVE_COLOUR = '34' +''' +:str? The colour of an inactive line +''' + +ACTIVE_COLOUR = '01;34' +''' +:str? The colour of an active line +''' + +SELECTED_COLOUR = '44;37' +''' +:str? The colour of a selected text +''' + +STATUS_COLOUR = '07' +''' +:str? The colour of the status bar +''' + +ALERT_COLOUR = None +''' +:str? The colour of the alert message +''' + + +atleast = lambda x, minimum : (x is not None) and (x >= minimum) +''' +Test that a value is defined and of at least a minimum value +''' + +limit = lambda x_min, x, x_max : min(max(x_min, x), x_max) +''' +Limit a value to a closed set +''' + +ctrl = lambda key : chr(ord(key) ^ ord('@')) +''' +Return the symbol for a specific letter pressed in combination with Ctrl +''' + +backspace = lambda x : (ord(x) == 127) or (ord(x) == 8) +''' +Check if a key stroke is a backspace key stroke +''' + + + +class Jump(): + ''' + Create a cursor jump that can either be included in a print statement + as a string or invoked + + @param y:int The row, 1 based + @param x:int The column, 1 based + @string :str|()→void Functor that can be treated as a string for jumping + ''' + def __init__(self, y, x): + self.string = '\033[%i;%iH' % (y, x) + def __str__(self): + return self.string + def __call__(self): + print(self.string, end = '') + |
