Commit graph

789 commits

Author SHA1 Message Date
Charlie Gordon
8e79b7d83f compile tqe in 32 bits -Os, 32KB smaller, but still 122KB 2016-03-07 10:34:12 +00:00
Charlie Gordon
03d4509bd4 compile tqe in 32 bits -Os, 32KB smaller, but still 122KB 2016-03-07 10:30:24 +00:00
Charlie Gordon
b962e33ade updated copyrights 2016-03-06 19:53:06 +00:00
Charlie Gordon
66acc15b06 extra-modes: syntax fixes, added new syntaxes
- fixed fortran number syntax
- fixed comments for init files
- added coffee-mode for the Javascript-like Coffee language
- use coffee-mode for Cakefile
- added scad-mode for the OpenSCAD language
- use single set_color for ini_colorize_line, python_colorize_line
  ruby_colorize_line, elixir_colorize_line, agena_colorize_line
2016-03-06 18:45:20 +00:00
Charlie Gordon
d120014e73 clang: small fixes, added pawn-mode
- improved regex divide discrimination
- select javascript-mode for node scripts
- added pawn-mode for *.p files with pascal disambiguation
2016-03-06 18:21:58 +00:00
Charlie Gordon
74f5350611 updated todo list 2016-03-06 18:12:47 +00:00
Charlie Gordon
c2899920de markdown: added support for literate modes
- added mkd_add_lang() to handle language tags more generically
- added default language for literate modes
- added syntax colorizer for litcoffee
2016-03-06 18:09:26 +00:00
Charlie Gordon
2ec28aef7a cmake: added colorizer for cmake files 2016-03-06 18:03:25 +00:00
Charlie Gordon
26d89491b5 x11: generate separate executable xqe for X11 support 2016-03-06 18:02:21 +00:00
Charlie Gordon
482ea06c1b basic: improved timing feature
- accept non breaking space in qe_isspace() and qe_isblank()
- added cmd_start_time for timings
- added cache qs->diag_shadow for diag/timing messages
- use global state for cmd_start_time to display the innermost timings
- display timings at the bottom right with put_status(s, "|diag");
- prevent qe_register_cmd_line_options from registering the same table twice
- added dummy option `-nw` so non graphics qemacs does complain
2016-03-06 17:59:22 +00:00
Charlie Gordon
225af9a196 search: added count-matches
- handle dir=0 in eb_search as forward search
- renamed isearch_display to isearch_run
- display timing if isearch_run takes longer than 100ms
- do_search_string with dir=0 counts matches
- added count-matches(str) on M-C
2016-03-06 17:48:01 +00:00
Charlie Gordon
bb96ec15af shell: fixed colors for libcaca output
- increase number of ANSI escape arguments to 6
- added debug traces for unhandled escape sequences
- wrap traces before 80 columns in *trace* buffer
2016-03-06 17:42:26 +00:00
Charlie Gordon
056db10c78 charset: fixed scanning bug for DOS eol modes
- goto_char had infinite loops for EOL_DOS in 8, 16 and 32 bits modes.
- this bug caused qemacs to hang on searches on DOS/Windows files.
2016-03-06 17:31:44 +00:00
Charlie Gordon
1644b75cd6 archive: improve support for images
- add mode dependant shell flags
- add filter for bmp files with img2txt from libcaca package
- add filter for jpg files with jpg2a from libcaca package
- add filter for pdf files with pstotext from libcaca package
2016-03-06 17:04:26 +00:00
Charlie Gordon
91855a0cd7 fixed typo 2016-03-06 16:58:53 +00:00
Charlie Gordon
8ba10d70b9 clang: reorder definitions
- move all definitions for each language together with mode struct.
- add generic flag for triple quoted strings
2015-11-13 08:37:08 +00:00
Charlie Gordon
4620aab4a1 Makefile: small fixes 2015-11-13 08:31:47 +00:00
Charlie Gordon
b7b934f1de ignore xqe targets 2015-10-14 09:32:07 +00:00
Charlie Gordon
afabce40f1 build: improve portability
- detect X11 configuration in configure script, no longer
  assume directories in Makefile
- added CONFIG_XSHM and check for XShm availability
- added TARGET_OS and TARGET_ARCH to make specific object dirs
- no longer redefine qe_module_init in qe.c
- added tqe.c: combined source version of tiny version
- added target xqe to build it, but it currently generates an
  executable significantly larger than tqe.
  This oddity is under investigation.
2015-10-14 09:31:20 +00:00
Charlie Gordon
4a076c2a00 ignore all object directories 2015-10-13 21:16:03 +00:00
Charlie Gordon
adcd271ebf fix compilation errors on linux 2015-10-13 20:54:00 +00:00
Charlie Gordon
12bcbe9e43 added C flavor for C! (cbang) from EPITA/LSE laboratory 2015-10-04 17:16:12 +00:00
Charlie Gordon
1f5a77a784 portability: stop defining symbols starting with __ 2015-09-16 22:18:22 +00:00
Charlie Gordon
16aa2940f6 fix cpp compilation: fix enum values and types 2015-09-16 21:45:27 +00:00
Charlie Gordon
ea3b85cdb1 fix cpp compilation: use non const typedef 2015-09-16 21:44:12 +00:00
Charlie Gordon
4f47d8b945 portability: avoid using or pseudo-keyword 2015-09-16 21:43:22 +00:00
Charlie Gordon
6dfb503d62 fixed do_set_visited_file_name if no file associated 2015-09-16 21:42:18 +00:00
Charlie Gordon
8591718dd2 clang: add colorizer for JetBrains Kotlin language 2015-09-16 12:58:33 +00:00
Charlie Gordon
d815596cc2 clang: improve idl colorizer
- add keywords
- add generic flag for mixed case capitalized typenames
2015-09-16 12:56:04 +00:00
Charlie Gordon
630c3ab063 fix compilation issues
- keyword order for inline functions
- track qs->active_window at load time
2015-09-16 12:40:58 +00:00
Charlie Gordon
c6d898dbb1 fix compilation warning 2015-09-16 12:35:43 +00:00
Charlie Gordon
fdaa11780f protect tty_resize against spurious window sizes 2015-09-16 12:35:01 +00:00
Charlie Gordon
eb4f3b878a fix compilation warning: keyword order 2015-09-16 12:33:36 +00:00
Charlie Gordon
50a92f2f53 protect against multiples inclusion 2015-09-16 12:33:03 +00:00
Charlie Gordon
ccd355c176 Makefile: create object directorieson the fly 2015-09-16 12:31:19 +00:00
Charlie Gordon
24fb2ba964 parser: small fixes and comments in simplistic parser 2015-09-14 19:05:53 +00:00
Charlie Gordon
9b433ae687 sessions: implement session saving/restoring
- add qe_save_variables(s, b)
- add use_session_file global variable
- add VarDef::modified flag to detect customized variables
- set modified flag upon variable modifications
- dired: set modified flag when changing in dired variables
- fix BUG in qe_register_variables, did not set set_value handler
  on last VarDef element
- make qe_save_variables() public
- remove do_save_variables(), move save_session() to parser.c
- add eb_puts() and eb_putc() for consistency
- add WF_HIDDEN window flag to temporarily flag windows to be deleted
- add do_hide_window(), do_delete_all_windows() and do_delete_hidden_windows()
- add qe_save_window_layout() to save window layout to session file
- add do_create_window(s, filename, layout) to restore window layout
- add qe_save_macros() to save keyboard macros to session file
- detect keyboard macro redefinitions and avoid duplicates
- add qe_save_open_files() to save list of open files and directories
- pass `all` flag to do_delete_other_windows() to force complete deletion
- add qe_load_session() and do_save_session():
  * qe_load_session() is invoked before parsing the command line if
    use_session_file is set, via the config file or command line option (-s)
  * do_save_session() is invoked just before closing qemacs.  It can also
    be invoked as a command and shows a popup window with the contents of
    the session file produced instead of saving it.
- fix CRASH BUG in command definitions, missing argument specifier caused
  spurious crashes when invoking commands from script files. This affected:
  find-file(), find-file-other-window(), find-alternate-file(), kill-buffer()
  load-file-from-path().
- insert newly created windows in list in top-down left-right order
- update WF_RSEPARATOR flag upon deletion of vertically split window
2015-09-10 00:25:23 +00:00
Charlie Gordon
415907161d clang: small improvement on regex coloring for jsx mode 2015-09-09 23:55:26 +00:00
Charlie Gordon
2df74ac150 haskell: colorize compiler directives 2015-09-01 10:14:30 +00:00
Charlie Gordon
be30361e2d html: force refresh upon mode selection 2015-08-31 08:51:17 +00:00
Charlie Gordon
6d87117bbc dired: set default position in new dired window to first entry 2015-08-30 21:51:49 +00:00
Charlie Gordon
bd10c24ac0 bufed: use buffer flag instead of buffer mode name 2015-08-30 15:31:28 +00:00
Charlie Gordon
545284f68b dired: code cleanup, better layout control
- refactored dired_sort_list() as dired_update_buffer():
  better detection of formating changes and less useless sorting
- make sort-mode, hflag, nflag... remanent and global for all dired buffers
- fix and simplify handling of current entry in dired popleft window.
- compute and display numbers of hidden files and directories
- total byte count only accounts for visible entries
- control dired-hflag with 'H': human readable sizes
- control dired-nflag with 'N': alpha/numeric/hidden uid/gid columns
- use variable setter function for dired-sort-mode and dired-time-format
2015-08-30 15:30:58 +00:00
Charlie Gordon
72f67310fa variables: add value setting handler support
- Allow handler to return error codes VAR_INVALID or VAR_READONLY
- Display explicit error messages
- Add variables.h to generic dependency list in Makefile
2015-08-30 12:03:46 +00:00
Charlie Gordon
81bca980fe cosmetics: untabify, remove trailing spaces 2015-08-30 11:27:12 +00:00
Charlie Gordon
f0aa3a4bd8 cosmetics: untabify, remove trailing spaces 2015-08-27 23:03:39 +00:00
Charlie Gordon
581eef3b5d buffers: fix improbable bugs
- make kill buffers system buffers (not displayed in buffer-list)
- only create *scratch* buffer in qe_kill_buffer() if needed
- prevent crash if killing style, log or kill buffers
- display \n as ^J in minibuf
2015-08-27 22:51:56 +00:00
Charlie Gordon
060f860756 fix more linux compilation warnings 2015-08-27 18:59:56 +00:00
Charlie Gordon
9ab179d048 fix linux compile warnings 2015-08-27 18:52:30 +00:00
Charlie Gordon
9331372a54 modes: upgrade mode selection and handling
- separate buffer and window specific mode data management, new API:
   QEModeData *qe_create_buffer_mode_data(EditBuffer *b, ModeDef *m);
   void *qe_get_buffer_mode_data(EditBuffer *b, ModeDef *m, EditState *e);
   QEModeData *qe_create_window_mode_data(EditState *s, ModeDef *m);
   void *qe_get_window_mode_data(EditState *e, ModeDef *m, int status);
   int qe_free_mode_data(QEModeData *md);
- make a list of buffer specific mode data areas so multiple major modes
  can co-exist in different windows for the same buffer
- add mode.mode_free callback to release buffer specific resources
- remove buffer.close callback
- shell state is now buffer specific shell_mode data
- clean up compress and archive mode
- show more buffer modes in buffer-list
- simplify edit_set_mode(), display error message on failure
2015-08-27 15:31:59 +00:00