Commit graph

34 commits

Author SHA1 Message Date
Charlie Gordon
611e44403d prepare mode separation (view / syntax / data)
* add fields in EditBuffer struct
* pass buffer and flags to mode_init functions
* add default_mode_init function to avoid tests
2014-06-01 13:54:58 +00:00
Charlie Gordon
bbee33c57b improve key binding handling
* add fallback mode to share key bindings
* simplify key binding lookup method
2014-05-30 22:57:34 +00:00
Charlie Gordon
d46fa4a060 improve describe-buffer
* display all modes
* clump char / word / line counts
2014-05-29 11:35:17 +00:00
Charlie Gordon
ebc8f89a82 prevent strict warnings 2014-05-27 22:59:48 +00:00
Charlie Gordon
061b18655c clean up header, rename some fields 2014-05-26 14:35:37 +00:00
Charlie Gordon
55ebbc0d84 fixed max level for skipping deeply nested blocks 2014-05-18 10:49:58 +00:00
Charlie Gordon
00df0a88dc improve describe-buffer
* fix line number for files with an imcomplete last line
* display word count
* align byte stats for large files
2014-05-14 16:15:00 +00:00
Charlie Gordon
88c82885f8 prevent buffer overflow on very long lines 2014-04-29 22:25:49 +00:00
Charlie Gordon
90971b9861 improve c-mode
* add indent_func method in ModeDef
* make c-indent-region more general as indent-region
* add c-forward-conditional on M-]
* add c-backward-conditional on M-[
* add c-list-conditionals on M-i
* use trick to disambiguate M-[ and CSI sequences
* add eb_is_in_indentation(b, offset)
* fix c-mode indentation of case and default lines
2014-03-23 01:11:34 +00:00
Charlie Gordon
0e9fbc96a1 add tabify / untabify support
* add tabify-buffer and tabify-region
* add untabify-buffer and untabify-region
* make eb_delete and eb_delete_range return actual number of bytes removed
* simplify some deletions with better use of eb_delete_xxx functions
2014-03-21 20:49:30 +00:00
Charlie Gordon
3246605e1b improve colorizer for long lines
* use COLORED_MAX_LINE_SIZE for line buffers
* incomplete fix for "ERROR: cursor not found" bugs
2014-03-18 08:20:04 +00:00
Charlie Gordon
aa8304c43d fix show-bindings for redefined bindings
* merge find_binding and find_binding1, export as qe_find_binding
* check if binding is rebound to another command
2014-03-12 05:50:23 +00:00
Charlie Gordon
7ac0ecec24 fix describe-buffer byte stats table 2014-03-10 01:56:16 +00:00
Charlie Gordon
9eb5944588 Improve mode selection and mode specific command safety
* add set-auto-mode() to (re)select best mode for buffer
* add set-next-mode() on M-m to cycle appropriate buffer modes
* add set-previous-mode()
* add default_mode and saved_mode in buffers to improve mode switching
* add dired mode probing and store st_mode in buffer to detect directories
* add charset, eol_type and buffer in ModeProbeData
* clean mode selection and window buffer attachment (needs more work)
* compute sorted list of appropriate modes in probe_mode
* convert charset and eol_type in mode_probe
* add signatures in buffer priv_data to perform save casts
* move BufedState to b->priv_data, protect mode specific functions
  add bufed_mode_probe function, cycling through modes comes back to bufed mode
* move DiredState to b->priv_data, protect mode specific functions
  add dired_mode_probe function, cycling through modes comes back to dired mode
* add heading line in dired buffer with directory spec
* protect shell-mode specific functions.
* restart shell in shell() command if exited
* some cosmetics changes (remove useless __unused__, missing messages ...)
2014-02-10 21:21:39 +00:00
Charlie Gordon
559d7506bb Add describe-buffer
* add do_describe_buffer to enumerate all buffer attributes in a popup
* analyze buffer contents and show map of bytes present in buffer
* this eases debugging when non ASCII bytes are hard to see
2014-02-10 20:33:01 +00:00
Charlie Gordon
a7853b3dff add support for end of line types
* support 3 types of end of line: Unix, Dos and old style Mac
* detect eol type automatically in detect_charset
* set buffer eol_type together with charset
* transparently convert eol sequence to \n upon reading buffers
  characters in eb_nextc().
* transparently convert \n to eol sequence in eb_encode_uchar()
* handle eol types in convert-file-buffer-coding-system: either preserve
  current value or force it via charset suffix -unix, -doc and -mac
* change read_charset() to accept eol_type suffix
* add eol_type and eol_char to CharsetDecodeState
* change charset methods to take CharsetDecodeState instead of charset pointers
* display eol_type in mode line if not unix
2014-02-05 00:56:48 +00:00
Charlie Gordon
645b9c1aeb cosmetic changes
* report lack of undo information in do_undo and do_redo
* make region command remove region highlight
2014-01-31 14:50:13 +00:00
Charlie Gordon
e967914b5a improve consistency in new/delete methodology
* use qe_mallocz for all structures
* prevent spurious uses of malloc/free/realloc
* pass pointers to pointers to all deletion functions
* use consistent patterns for list deletions
* add more dependencies in Makefiles
2014-01-23 12:56:22 +00:00
Charlie Gordon
c0b4323ef9 merge eb_is_blank_line and eb_is_empty_line, simplify paragraph commands
* simplify eb_is_blank_line
* remove eb_is_empty_linek
* simplify paragraph commands with eb_is_blank_line
2014-01-19 17:25:02 +00:00
Charlie Gordon
2d61c2c0e1 add delete-horizontal-lines on C-x C-o
* add command delete-horizontal-lines in extras.c
* simplify do_delete_horizontal_space
* bind backward-paragraph and forward-paragraph to M-[ and M-]
* M-[ binding is not effective in terminal because it clashes with ansi
  escape sequences
* comment some key bindings for compatibility
2014-01-19 15:33:56 +00:00
Charlie Gordon
17b2c69145 fix problems with do_transpose and compute_crc
* improve compute_crc: no longer fail on simple 1 character transposition
* remove limitations on block size in do_transpose
* preserve styles in do_transpose
2014-01-17 13:19:14 +00:00
Charlie Gordon
2f98140860 add buf_put_key, buf_put_keys, use buf_t more consistently
* changed keytostr to buf_put_key using buf_t structure
* changed keys_to_str tp buf_put_keys using buf_t structure
* add buf_attach to initialize buf_t with non empty buffer
* simplify qe_list_bindings with inherit argument
2014-01-16 14:24:03 +00:00
Charlie Gordon
02da1bb7a1 add generic styles buffer from shell color mode
* styles_buffer hold static style info for each character in the buffer
* new buffer flags to create styles buffers with 1, 2 or 4 bytes per char
* copy static styles to the kill_ring and pasted them style enabled buffers
* preserve static styles in convert-buffer-file-coding-system
* display style bytes in bufed list
* add commands set-region-color, set-region-style, drop-styles
2014-01-15 19:44:24 +00:00
Charlie Gordon
62ee618b0d - added compile time test for qe_free argument type: must be pointer to pointer
- fixed crash bug in qe_unregister_binding1, missing indirection in qe_free argument
- added Darwin specific definition for 'end' (this is an ugly patch, to be removed)
- fixed crash bug in qe_set_variable, missing indirection in qe_free argument
2013-11-22 20:50:20 +00:00
Charlie Gordon
056c5330bb fixed cygwin compile 2008-05-02 17:11:19 +00:00
Charlie Gordon
9af558752e added about-qemacs command on C-H ? and f1
improved list-variables
2008-04-30 07:18:34 +00:00
Charlie Gordon
b82a15d4e4 added extra help functions:
added command apropos(string)
added command show-bindings(cmd_name)
moved describe-bindings to extras.c
added qe_get_prototype(CmdDef *d, char *buf, int size);
added an extra argument to qe_get_variable() to produce value as source
fixed typo on window variable window-height
fixed type mismatch on mode variable mode-name
added var_domain string array
added strquote conversion function with simplistic implementation
added history tags for all commands
2008-04-29 18:55:14 +00:00
Charlie Gordon
caf6950145 renamed CMD_ and CMDV to CMD2 and CMD3 for consistency 2008-04-25 10:46:58 +00:00
Charlie Gordon
174c5a38fd renamed universal argument as numeric argument 2008-04-22 09:28:33 +00:00
Charlie Gordon
04ebeb7606 better separation of function pointers and void*
use CmdFunc typedef for generic command function pointers
no longer use \e for escape use \033 instead
use memcpy trick to prevent gcc warning on dlsym in -pedantic mode
2008-04-20 12:01:34 +00:00
Charlie Gordon
24d4fda0aa split global key binding list into mode specific and global lists
added commands local-unset-key and global-unset-key
2008-04-18 14:39:07 +00:00
Charlie Gordon
4ce5261fa1 cosmetics, small fix 2008-04-04 18:23:10 +00:00
Charlie Gordon
25834d334a added transpose commands (chars, words, lines) 2008-03-31 21:52:01 +00:00
Charlie Gordon
7868f2b05c added command find-file-other-window
added module extra.c for commands in full version
added command compare_windows
added command delete_horizontal_space
added command show_date_and_time
moved block navigation and kill commands from clang.c to extras.c
2008-03-31 20:35:31 +00:00