Commit Graph

281 Commits

Author SHA1 Message Date
Slava Zanko
1d4318a2be Renamed global variable mc_home into mc_main_sysconf_dir
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 15:02:54 +03:00
Slava Zanko
62e4ab5d92 Renamed global variable mc_home_alt into mc_main_sharedata_dir
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-29 15:02:54 +03:00
Ilia Maslakov
10fd8660c1 Ticket #212 (User defined hotkeys)
created structs:
    struct name_key_map_t
    struct key_config_t
    global_key_map_t
    add lookup_action
    replace editor key map struct to global_key_map_t
    add main_map screen_map
    replace command CK_* to src/cmddef.h
    add mc.keymap
    fix misc/Makefile.am
    add x_keymap
    add more commands

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-29 10:00:48 +00:00
Slava Zanko
a1e3999abf Editor: Autocomplete all words (not just English words)
Also fix charset conversation for autocompleted text.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-23 16:13:36 +03:00
Slava Zanko
d5381e862e Added option for switch beetween 'collect completions before cursor'
and 'collect completions in entire file'

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-23 16:13:36 +03:00
dborca
fdbd5b8a86 Ticket #1486: Editor completion is confusing
Editor completion became really confusing in 4.7.0-pre1:

1. The list is populated with words from the entire file. This is arguably
better than the old style, which scanned only up to the cursor. But the number
of suggestions are limited, and if you have a bigger file, some words won't
make it in the list. Besides, I somehow liked the old way.

2. Suggestions do not end on a word boundary. This may or may be not useful; but
it just increases the list of suggestions, which slows the user. In the end, it
beats the purpose of completions.

3. It completes the word I am currently editing. That's smart. :)

4. The suggestions are displayed in the order in which they were found from the
beginning of the file. This is my main gripe, because when using the editor for
coding, it is better to have suggestions based on the distance to the cursor.
Closer means higher. When writing a function, I am mainly interested in the
variable names I recently used.

5. Sometimes, it does not work at all, but I haven't investigated the bug. :(

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-09-23 16:13:36 +03:00
Ilia Maslakov
9e5fb208a9 Ticket #1556 (editor search: button 'Find all')
* add new button 'Find all' into Search dialog. Bookmarks all founded entries.
    * fix: search dialog (buttons are positioned dynamically)
    * some optimisation of usability.

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-09-07 13:06:04 +00:00
Andrew Borodin
c057b0a02a Fixed radiobutton label for Macintosh line break.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-03 11:39:57 +04:00
Andrew Borodin
f9d6bb075c Ticket #1562: simplfication API of QuickDialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-09-03 11:39:57 +04:00
Ilia Maslakov
4eba917c0c Added field lb (kind of line break) into WEdit struct
Some cosmetic changes.
Fixed compiling warnings.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-31 13:20:49 +04:00
Andrew Borodin
f023ce440f Ticket #1571: enhancement of mcedit 'Save as' action.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-31 13:20:49 +04:00
Ilia Maslakov
b819359535 Ticket #1558 (Search backwards behaves erratically)
fix: backward search. When the cursor set on the begin of the word,
         search found this word, but should not.

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-24 07:04:52 +00:00
Ilia Maslakov
156b79609c Ticket #1487 (Whole words search)
thanx Daniel Borca <dborca@yahoo.com> for the patch

    * fix special_chars in regex.c
    * add whole_words into mc_search_struct
    * add 'Whole words' into 'Search', 'Replace' 'File find' dialogs

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-22 11:24:00 +00:00
Ilia Maslakov
7ef283975b Ticket #1519 (Editor Search/Replace in selection only)
thanx dborca <dborca@yahoo.com> for the patch

    * add option 'In selection' into 'Search' and 'Replace' dialogs
    * changed search and replace algorithm
    * fix search start position if cursor placed beyond marked text.

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>

    * Fixed handle of 'In selection' option in 'search' dialog.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-08-22 10:00:33 +00:00
Ilia Maslakov
68a6495c96 fix: incorrect move/delete block if 'Cursor beyond end of line' swiched on
fix: Enter behavior if 'Cursor beyond end of line' swiched on

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-21 13:42:30 +00:00
Sergei Trofimovich
985f076e5f Merge commit 'origin/82_sanitize_ro_file_edition'
* commit 'origin/82_sanitize_ro_file_edition':
  Ticket #82: savannah: "save as" retains mode (take 2) provided by dborka
2009-08-19 20:54:15 +03:00
Sergei Trofimovich
c769f7fcd3 Ticket #82: savannah: "save as" retains mode (take 2) provided by dborka
Suppose you have two files, foo and bar. Both files have 444 permissions.
Now edit foo and "Save". It can't save and instead prompt you to "Save As".
Enter bar. It will chmod bar to 644. If we don't touch touch existing file
permissions for "Save", I don't see why we should for "Save As".

Patch adds S_IWUSR only if different_filename and file does not exist yet.
For consistency, it's S_IWUSR not S_IWRITE.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-08-18 22:28:59 +03:00
Ilia Maslakov
4afee14f94 Ticket #1529 (remove search converter overhead)
* add: void tty_print_anychar (int c)
    * remove superfluous search converter in convert_from_utf_to_current_c,
      convert_from_8bit_to_utf_c add converter to WEdit struct
    * fix: init defaulf codesets
    * fix: segfault on replace if LANG=C

Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-18 05:52:40 +00:00
Ilia Maslakov
f4fc6ad79d Ticket #1534 (cool cooledit)
first commit for support drag cursor after end of line

    * change mouse movement, allow place cursor after EOL
    * change vertical select
    * fix: right scroll

Signed-off-by: Ilia Maslakov <il.smind@google.com>
2009-08-17 18:11:20 +00:00
Andrew Borodin
bc09ff3888 Ticket #1414: implemented scalable TUI.
Thanks to E.L.K.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-08-17 15:54:39 +04:00
Ilia Maslakov
bf6d6bafb4 Ticket #364 (Broken keymap after external command)
fix: broken keymap after run external command (like ispell)
2009-08-15 09:09:21 +00:00
Andrew Borodin
3318a5fd98 Call repaint_screen() in screen repaint command handling. 2009-08-12 21:23:13 +04:00
Andrew Borodin
55e626726c For NCurses, always call doupdate() in tty_refresh(). 2009-08-12 21:23:12 +04:00
Andrew Borodin
86f77f3cb2 New functions.
tty_touch_screen() is used instead of touchwin() function or macro.
tty_set_normal_attrs() is used instead of standend() function or macro.
tty_set_alt_charset() is used instead of acs() and noacs()
functions or macros.
tty_baudrate() is used instead of baudrate() function or macro.
2009-08-12 21:23:12 +04:00
Andrew Borodin
2b7a991fde New functions.
tty_keypad() is used instead of keypad() function or macro.
tty_nodelay() is used instead of nodelay() function or macro.
tty_reset_prog_mode() is used instead of reset_prog_mode() function or macro.
tty_reset_shell_mode() is used instead of reset_shell_mode()
function or macro.
tty_beep() is used instead of beep() function or macro.
2009-08-12 21:23:12 +04:00
Andrew Borodin
069aab9ebc Renamed mc_refresh() to tty_refresh(). 2009-08-12 21:22:17 +04:00
Andrew Borodin
f3730bdc41 Initial step to move TTY layer of MC to separate library. 2009-08-12 21:19:20 +04:00
Daniel Borca
2a586710b7 Ticket #1496 (Search backwards is broken)
fix: file edit/editcmd.c backward search is broken
2009-08-12 15:04:37 +03:00
Sergei Trofimovich
65771004c4 Ticket #82 (savannah: "save as" retains mode) patch by imdagger
Consider following scenario:
$ touch /tmp/foo_file
$ chmod 0444 /tmp/foo_file # readonly for owner
$ mcedit /tmp/foo_file
> 1. edit
> 2. try to save, fail. choose another name: /tmp/foo_file2
> 3. edit
> 4. try to save, fail again!

This patch adds owner write permissions for files, created in
step 2.

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
2009-08-09 19:24:42 +03:00
Ilia Maslakov
99c8f6a680 Ticket #1460 (shared search history)
* The sample of the containing text by file search;
    * The sample of search in file mcview;
    * The sample of search in mcedit (search operation);
    * The substituting text in mceditor (replacement operation).

    Author: Alexey Korop

    Signed-off-by: Ilia Maslakov <il.smind@gmail.com>

    Editor: search will continue from last search string if SHIFT+F7 hotkey pressed
    at first time (without pressed F7 key).

    Signed-off-by: Slava Zanko <slavazanko@gmail.com>

    add const MC_HISTORY_SHARED_SEARCH into history.h

    Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
2009-08-05 14:30:08 +00:00
Slava Zanko
f67fcfb94f Fixed excaping of '%' symbol in edit_complete_word_cmd() function
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-07-17 12:00:03 +03:00
Patrick Winnertz
bada6849cd Remove unneeded vars in edit/edit.c to avoid compiler warnings
Signed-off-by: Patrick Winnertz <winnie@debian.org>

edit: cleanup: moved variable declaration to begin of block
edit: have_charset: added explicit variable declarations

Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>

fix not initialized variable 'cw'
fix variables 'cw', 'utf_ch', make more safety algorithm.
2009-07-17 12:00:01 +03:00
Ilia Maslakov
3596ceeb9f Ticket #1402 (mcedit replace regression)
fix: issue in 'while'
    remove 'Once' button as 'atavism'
    add 'from' field in confirm dialog

Fixed layout of place confirmation dialog in mcedit.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-07-16 05:42:36 +00:00
Mikhail S. Pobolovets
9e92f803cc FIX: Completion in editor doesn't work with subwords ended with '_'
Signed-off-by: Mikhail S. Pobolovets <styx.mp@gmail.com>
2009-06-29 14:14:25 +03:00
Ilia Maslakov
522f310871 Ticket #1368 (Incorrect detected start of the word)
fix: removed char "_" in edit_find_word_start as SOW (start of the word)
add more chars as SOW
2009-06-22 12:34:00 +00:00
Slava Zanko
644c537084 Ticket #383 (Autocompletion in editor don't work)
Description:

Autocomplete doesn't find the word at the begin of file.

Fix issue: search words for autocomplete start with 1 byte offset (start=0 was mean start=1)
Now fixed. Also, removed forgot debug code.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-06-19 22:06:41 +03:00
Slava Zanko
a13d36a55c Autocomplete in editor now works with all words, not only a-zA-Z
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-06-19 22:06:41 +03:00
Slava Zanko
5ab3ba58c9 Fixed autocompletion in editor
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-06-19 22:06:41 +03:00
Andrew Borodin
68354273a3 Fixed includes.
Added missed includes. Fixed includes after rebase.

Signed-off-by: Andrew Borodin <borodin@borodin.zarya>
2009-06-19 14:36:36 +04:00
Andrew Borodin
9ef324f7bb edit/edit.h: added function prototypes.
edit/editcmd.c: removed include of eregex.h
vfs/vfs-impl.h: removed commented include of <stddef.h>.
2009-06-18 21:08:24 +04:00
Enrico Weigelt, metux IT service
c7d04dd47a fixed several missing #include's 2009-06-18 21:02:29 +04:00
Ilia Maslakov
5c28d2bda4 Ticket #321 (Trouble with mc's clipboard paste)
add: paste as vertical block if clipfile contain magic sequence
add: vertical paste from file
add: symbolic definition MAGIC_VERTICAL for "\1\1\1\1\n" magic sequence
2009-06-17 13:12:03 +00:00
Andrew Borodin
fd09abaeb2 Hide private API of editor (#361).
All editor private API stuff is located now in edit/edit-impl.h.
Public API is located in edit/edit.h.
Added functions to read some fields of WEdit struct.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-06-16 15:36:45 +04:00
Andrew Borodin
efbbd3883f Fixed source_codepage handling in editor (#402).
Signed-off-by: Andrew Borodin <borodin@borodin.zarya>
2009-06-16 11:32:59 +04:00
Andrew Borodin
6e86e9f383 Fixed type of variables that store result of get_codepage_id(). 2009-06-15 23:35:20 +04:00
Andrew Borodin
205fa24e7d Fixed codepage selection (#402).
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2009-06-15 20:27:17 +04:00
Slava Zanko
e335712e41 Fix path to Syntax file
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2009-06-12 16:12:10 +04:00
Andrew Borodin
a623c3a13c Editor: sync with new global config location (user menu and syntax files). 2009-06-12 16:12:10 +04:00
Andrew Borodin
fb48d4a295 Small reorganization of MC and Editor menus.
The 'User Menu' entry is moved from 'File' submenu to 'Command' one.
The 'Edit editor menu file' and 'Edit syntax file' entries are moved
from main MC menu ('Command' submenu) to editor main menu ('Options'
submenu) and renamed.

src/cmd.c (check_for_default): moved to util.c and maken global.
(menu_edit_cmd): rewritten to handle MC menu files only and renamed
to edit_mc_menu_cmd.
Editor relevant routines are moved to editor code.

src/cmd.h: cleanup.

src/main.c: main menu reorganization.

src/user.h: moved editor macros to edit/edit.h.

src/util.c, src/util.h: check_for_default function from src/cmd.h.
Rewritten to use exist_file() function.

edit/editcmddef.h: added new commands:
CK_Load_Syntax_File and CK_Load_Menu_File.

edit/edit.h: editor file macros from src/user.h.
New type for file which is currently being edited.
Modified edit_load_cmd function to be more advanced.

edit/edit.c (edit_execute_cmd): handle new commands:
CK_Load_Syntax_File and CK_Load_Menu_File.

edit/editmenu.c: menu reorganization: moved two entries here from main
MC menu. Added requireq handle functions. Small optimization: removed
extra layer in menu entry handlers.

edit/editcmd.c: menu and syntax files edit is implemented.
Modified edit_load_cmd function to be more advanced.
2009-06-12 16:12:10 +04:00
Slava Zanko
89bdeb7e34 edit/editcmd.c: fix backward search by one symbol. 2009-05-27 11:49:36 +03:00