Репозитории ALT
S: | 4.8.30-alt3 |
5.1: | 4.8.11-alt0.M51.1 |
4.1: | 4.6.2-alt7.pre1 |
4.0: | 4.6.1r-alt9 |
3.0: | 4.6.1r-alt3 |
Группа :: Работа с файлами
Пакет: mc
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: mc-4.6.2-xs-file-highlight.patch
Скачать
Скачать
--- mc/doc/mc.1.in.orig 2007-09-10 20:25:30 +0600
+++ mc/doc/mc.1.in 2008-02-24 16:39:50 +0500
@@ -3033,7 +3033,9 @@ menusel, menuhot, menuhotsel. Dialog co
dhotnormal, dhotfocus. Help colors are: helpnormal, helpitalic,
helpbold, helplink, helpslink. Viewer color is: viewunderline. Special
highlighting colors are: executable, directory, link, stalelink, device,
-special, core. Editor colors are: editnormal, editbold, editmarked.
+special, core. Filetype highlighting colors are: hidden, temp, doc,
+archive, source, media, graph, database. Editor colors are: editnormal,
+editbold, editmarked.
.PP
.I input
determines the color of input lines used in query dialogs.
@@ -3091,6 +3093,25 @@ is used for special files, such as pipes
.I core
is for core files.
.PP
+Also filetype highlight colors determine how files displayed depending
+on file type such as (below are colors named as filetypes):
+.I hidden
+is used for hidden files and directories that begin with dot;
+.I temp
+is used for temporary files;
+.I doc
+is used for document and text files;
+.I archive
+is used for archive files;
+.I source
+is used for files with source codes;
+.I media
+is used for multimedia files;
+.I graph
+is used for files with graphic data;
+.I database
+is used for database files.
+.PP
The possible colors are: black, gray, red, brightred, green,
brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta,
cyan, brightcyan, lightgray and white. And there is a special keyword
--- mc/doc/ru/mc.1.in.orig 2004-08-17 14:41:53 +0600
+++ mc/doc/ru/mc.1.in 2008-02-24 16:39:50 +0500
@@ -3351,8 +3351,9 @@ пунктов меню: menu, menusel, menuhot, m
dnormal, dfocus, dhotnormal, dhotfocus; Цвета в окне подсказки:
helpnormal, helpitalic, helpbold, helplink, helpslink; в окне программы
просмотра: viewunderline; специальные подсветки: executable, directory,
-link, device, special, core; в окне редактора: editnormal, editbold,
-editmarked.
+link, device, special, core; подсветка файлов по типам: hidden, temp,
+doc, archive, source, media, graph, database; в окне редактора:
+editnormal, editbold, editmarked.
.PP
Цвета задавать не обязательно. Цвет какого именно поля определяется
каждым ключевым словом, можно понять из перевода этого ключевого слова.
@@ -3416,6 +3417,25 @@ оборванные (stale) символические ссылки;
.I core
\- для файлов с дампами (core).
.PP
+Аналогично подсветка файлов по типам используется для подсветки файлов
+в зависимости от их расширения:
+.I hidden
+используется для скрытых файлов и каталогов, которые начинаются с точки;
+.I temp
+\- для временных файлов;
+.I doc
+\- для файлов документов;
+.I archive
+\- для файлов архивов;
+.I source
+\- для файлов исходных текстов;
+.I media
+\- для мультимедиа-файлов;
+.I graph
+\- для графических файлов;
+.I database
+\- для файлов баз данных.
+.PP
Возможные цвета: black, gray, red, brightred, green, brightgreen, brown,
yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan,
lightgray и white.
--- mc/po/mc.pot.orig 2007-09-11 20:35:03 +0600
+++ mc/po/mc.pot 2008-02-24 16:41:09 +0500
@@ -1090,6 +1090,42 @@ msgstr ""
msgid "&Select"
msgstr ""
+#: src/boxes.c:654
+msgid "&Ok"
+msgstr ""
+
+#: src/boxes.c:656
+msgid "Databases"
+msgstr ""
+
+#: src/boxes.c:658
+msgid "Graphics"
+msgstr ""
+
+#: src/boxes.c:660
+msgid "Multimedia"
+msgstr ""
+
+#: src/boxes.c:662
+msgid "Sources"
+msgstr ""
+
+#: src/boxes.c:664
+msgid "Archives"
+msgstr ""
+
+#: src/boxes.c:666
+msgid "Text/Doc Files"
+msgstr ""
+
+#: src/boxes.c:668
+msgid "Temp Files"
+msgstr ""
+
+#: src/boxes.c:673
+msgid " File highlighting "
+msgstr ""
+
#: src/boxes.c:726
msgid "Use passive mode over pro&xy"
msgstr ""
@@ -2814,6 +2850,10 @@ msgstr ""
msgid "c&Onfirmation..."
msgstr ""
+#: src/main.c:920
+msgid "file &Highlighting..."
+msgstr ""
+
#: src/main.c:919
msgid "&Display bits..."
msgstr ""
@@ -2916,8 +2956,9 @@ msgid ""
" Menus: menu, menuhot, menusel, menuhotsel\n"
" Editor: editnormal, editbold, editmarked\n"
" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n"
-" File types: directory, executable, link, stalelink, device, special, "
-"core\n"
+" File types: directory, executable, link, stalelink, device, special,\n"
+" core, hidden, temp, doc, archive, source, media, graph,\n"
+" database\n"
"\n"
"Colors:\n"
" black, gray, red, brightred, green, brightgreen, brown,\n"
--- mc/po/ru.po.orig 2007-09-11 20:35:10 +0600
+++ mc/po/ru.po 2008-02-24 16:42:07 +0500
@@ -17,7 +17,7 @@ msgstr ""
"Project-Id-Version: ru\n"
"Report-Msgid-Bugs-To: mc-devel@gnome.org\n"
"POT-Creation-Date: 2007-09-11 17:35+0300\n"
-"PO-Revision-Date: 2005-09-09 14:37+0300\n"
+"PO-Revision-Date: 2008-02-24 16:42+0500\n"
"Last-Translator: Anton S. Chumak <nightfast@yahoo.co.uk>\n"
"Language-Team: Russian ru@li.org\n"
"MIME-Version: 1.0\n"
@@ -837,6 +837,42 @@ msgstr "Кодировка ввода/вывода: "
msgid "&Select"
msgstr "Выбрать"
+#: src/boxes.c:654
+msgid "&Ok"
+msgstr "&Дальше"
+
+#: src/boxes.c:656
+msgid "Databases"
+msgstr "Файлы баз данных"
+
+#: src/boxes.c:658
+msgid "Graphics"
+msgstr "Графические файлы"
+
+#: src/boxes.c:660
+msgid "Multimedia"
+msgstr "Мультимедиа файлы"
+
+#: src/boxes.c:662
+msgid "Sources"
+msgstr "Файлы исходных текстов"
+
+#: src/boxes.c:664
+msgid "Archives"
+msgstr "Файлы архивов"
+
+#: src/boxes.c:666
+msgid "Text/Doc Files"
+msgstr "Текстовые файлы и файлы документов"
+
+#: src/boxes.c:668
+msgid "Temp Files"
+msgstr "Временные файлы"
+
+#: src/boxes.c:673
+msgid " File highlighting "
+msgstr " Подсветка файлов "
+
msgid "Use passive mode over pro&xy"
msgstr "Использовать пассивный режим через прокси"
@@ -2280,6 +2316,10 @@ msgstr "&Подтверждение..."
msgid "&Display bits..."
msgstr "&Биты символов..."
+#: src/main.c:920
+msgid "file &Highlighting..."
+msgstr "П&одсветка файлов..."
+
msgid "learn &Keys..."
msgstr "&Распознавание клавиш..."
@@ -2365,8 +2405,9 @@ msgid ""
" Menus: menu, menuhot, menusel, menuhotsel\n"
" Editor: editnormal, editbold, editmarked\n"
" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n"
-" File types: directory, executable, link, stalelink, device, special, "
-"core\n"
+" File types: directory, executable, link, stalelink, device, special,\n"
+" core, hidden, temp, doc, archive, source, media, graph,\n"
+" database\n"
"\n"
"Colors:\n"
" black, gray, red, brightred, green, brightgreen, brown,\n"
--- mc/src/boxes.c.orig 2006-02-28 21:15:21 +0500
+++ mc/src/boxes.c 2008-02-24 16:39:50 +0500
@@ -643,6 +643,72 @@ display_bits_box (void)
#endif /* HAVE_CHARSET */
+/*
+* File highlighting setup dialog
+*/
+#define FILEHLY 20
+#define FILEHLX 56
+
+static char *ret_ftmp;
+static char *ret_fdoc;
+static char *ret_farch;
+static char *ret_fsrc;
+static char *ret_fmedia;
+static char *ret_fgraph;
+static char *ret_fdbase;
+
+static QuickWidget filehl_widgets [] = {
+{ quick_button, 30, FILEHLX, FILEHLY - 3, FILEHLY, N_("&Cancel"), 0, B_CANCEL, 0, 0, "button-cancel" },
+{ quick_button, 12, FILEHLX, FILEHLY - 3, FILEHLY, N_("&Ok"), 0, B_ENTER, 0, 0, "button-ok" },
+{ quick_input, 4, FILEHLX, 15, FILEHLY, "", 48, 0, 0, &ret_fdbase, "input-ft-dbase"},
+{ quick_label, 4, FILEHLX, 14, FILEHLY, N_("Databases"), 0, 0, 0, 0, "label-ft-dbase" },
+{ quick_input, 4, FILEHLX, 13, FILEHLY, "", 48, 0, 0, &ret_fgraph, "input-ft-graph"},
+{ quick_label, 4, FILEHLX, 12, FILEHLY, N_("Graphics"), 0, 0, 0, 0, "label-ft-graph" },
+{ quick_input, 4, FILEHLX, 11, FILEHLY, "", 48, 0, 0, &ret_fmedia, "input-ft-media" },
+{ quick_label, 4, FILEHLX, 10, FILEHLY, N_("Multimedia"), 0, 0, 0, 0, "label-ft-media" },
+{ quick_input, 4, FILEHLX, 9, FILEHLY, "", 48, 0, 0, &ret_fsrc, "input-ft-src" },
+{ quick_label, 4, FILEHLX, 8, FILEHLY, N_("Sources"), 0, 0, 0, 0, "label-ft-src" },
+{ quick_input, 4, FILEHLX, 7, FILEHLY, "", 48, 0, 0, &ret_farch, "input-ft-arch" },
+{ quick_label, 4, FILEHLX, 6, FILEHLY, N_("Archives"), 0, 0, 0, 0, "label-ft-arch" },
+{ quick_input, 4, FILEHLX, 5, FILEHLY, "", 48, 0, 0, &ret_fdoc, "input-ft-doc" },
+{ quick_label, 4, FILEHLX, 4, FILEHLY, N_("Text/Doc Files"), 0, 0, 0, 0, "label-ft-doc" },
+{ quick_input, 4, FILEHLX, 3, FILEHLY, "", 48, 0, 0, &ret_ftmp, "input-ft-tmp" },
+{ quick_label, 4, FILEHLX, 2, FILEHLY, N_("Temp Files"), 0, 0, 0, 0, "label-ft-tmp" },
+{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+};
+
+static QuickDialog filehl_dlg =
+{ FILEHLX, FILEHLY, -1, -1, N_(" File highlighting "), "[File highlighting]", filehl_widgets, 0 };
+
+void
+file_highlighting_box (void)
+{
+ filehl_widgets [2].text = file_types.fdbase;
+ filehl_widgets [4].text = file_types.fgraph;
+ filehl_widgets [6].text = file_types.fmedia;
+ filehl_widgets [8].text = file_types.fsrc;
+ filehl_widgets [10].text = file_types.farch;
+ filehl_widgets [12].text = file_types.fdoc;
+ filehl_widgets [14].text = file_types.ftmp;
+
+ if (quick_dialog (&filehl_dlg) != B_CANCEL) {
+ g_free(file_types.ftmp);
+ file_types.ftmp = ret_ftmp;
+ g_free(file_types.fdoc);
+ file_types.fdoc = ret_fdoc;
+ g_free(file_types.farch);
+ file_types.farch = ret_farch;
+ g_free(file_types.fsrc);
+ file_types.fsrc = ret_fsrc;
+ g_free(file_types.fmedia);
+ file_types.fmedia = ret_fmedia;
+ g_free(file_types.fgraph);
+ file_types.fgraph = ret_fgraph;
+ g_free(file_types.fdbase);
+ file_types.fdbase = ret_fdbase;
+ }
+}
+//end File highlighting setup dialog
#define TREE_Y 20
#define TREE_X 60
--- mc/src/boxes.h.orig 2004-12-04 00:17:47 +0500
+++ mc/src/boxes.h 2008-02-24 16:39:50 +0500
@@ -10,6 +10,7 @@ sortfn *sort_box (sortfn *sort_f
int *case_sensitive);
void confirm_box (void);
void display_bits_box (void);
+void file_highlighting_box (void);
void configure_vfs (void);
void jobs_cmd (void);
char *cd_dialog (void);
--- mc/src/color.c.orig 2007-08-27 18:06:02 +0600
+++ mc/src/color.c 2008-02-24 16:43:35 +0500
@@ -90,19 +90,30 @@ static struct colorpair color_map [] = {
{ "special=", 0, 0 }, /* sockets, fifo */
{ "core=", 0, 0 }, /* core files */ /* 29 */
- { 0, 0, 0 }, /* not usable (DEFAULT_COLOR_INDEX) *//* 30 */
+ /* colors for specific file types */
+
+ { "hidden=", 0, 0 }, /* hidden files */ /*30*/
+ { "temp=", 0, 0 }, /* temp file type */ /*31*/
+ { "doc=", 0, 0 }, /* doc file type */ /*32*/
+ { "archive=", 0, 0 }, /* archive file type */ /*33*/
+ { "source=", 0, 0 }, /* sources file type */ /*34*/
+ { "media=", 0, 0 }, /* multimedia file type */ /*35*/
+ { "graph=", 0, 0 }, /* graphics file type */ /*36*/
+ { "database=", 0, 0 }, /* database file type */ /*37*/
+
+ { 0, 0, 0 }, /* not usable (DEFAULT_COLOR_INDEX) *//* 38 */
{ 0, 0, 0 }, /* unused */
{ 0, 0, 0 }, /* not usable (A_REVERSE) */
{ 0, 0, 0 }, /* not usable (A_REVERSE_BOLD) */
-/* editor colors start at 34 */
- { "editnormal=", 0, 0 }, /* normal */ /* 34 */
+/* editor colors start at 42 */
+ { "editnormal=", 0, 0 }, /* normal */ /* 42 */
{ "editbold=", 0, 0 }, /* search->found */
{ "editmarked=", 0, 0 }, /* marked/selected */
{ "editwhitespace=", 0, 0 }, /* whitespace */
-/* error dialog colors start at 38 */
- { "errdhotnormal=", 0, 0 }, /* Error dialog normal/hot */ /* 38 */
+/* error dialog colors start at 46 */
+ { "errdhotnormal=", 0, 0 }, /* Error dialog normal/hot */ /* 46 */
{ "errdhotfocus=", 0, 0 }, /* Error dialog focused/hot */
};
@@ -162,6 +173,14 @@ static const char *default_colors =
"device=brightmagenta,blue:"
"core=red,blue:"
"special=black,blue:"
+"hidden=black,blue:"
+"temp=gray,blue:"
+"doc=brown,blue:"
+"archive=brightmagenta,blue:"
+"source=cyan,blue:"
+"media=green,blue:"
+"graph=brightcyan,blue:"
+"database=brightred,blue:"
"editnormal=lightgray,blue:"
"editbold=yellow,blue:"
"editmarked=black,cyan:"
@@ -266,7 +285,7 @@ static void configure_colors (void)
}
#ifndef HAVE_SLANG
-#define MAX_PAIRS 64
+#define MAX_PAIRS 84
int attr_pairs [MAX_PAIRS];
#endif
--- mc/src/color.h.orig 2007-08-27 18:06:02 +0600
+++ mc/src/color.h 2008-02-24 16:44:59 +0500
@@ -65,9 +65,18 @@ extern int alarm_colors[4];
#define SPECIAL_COLOR IF_COLOR (28, 0)
#define CORE_COLOR IF_COLOR (29, 0)
+/* colors for specific files */
+#define HIDDEN_COLOR IF_COLOR (30, 0)
+#define TEMP_COLOR IF_COLOR (31, 0)
+#define DOC_COLOR IF_COLOR (32, 0)
+#define ARCH_COLOR IF_COLOR (33, 0)
+#define SRC_COLOR IF_COLOR (34, 0)
+#define MEDIA_COLOR IF_COLOR (35, 0)
+#define GRAPH_COLOR IF_COLOR (36, 0)
+#define DBASE_COLOR IF_COLOR (37, 0)
/* For the default color any unused index may be chosen. */
-#define DEFAULT_COLOR_INDEX 30
+#define DEFAULT_COLOR_INDEX 38
#define DEFAULT_COLOR IF_COLOR (DEFAULT_COLOR_INDEX, 0)
/*
@@ -75,15 +84,15 @@ extern int alarm_colors[4];
* respectively
* Last is defined to view color.
*/
-#define EDITOR_NORMAL_COLOR_INDEX 34
+#define EDITOR_NORMAL_COLOR_INDEX 42
#define EDITOR_NORMAL_COLOR IF_COLOR (EDITOR_NORMAL_COLOR_INDEX, 0)
-#define EDITOR_BOLD_COLOR IF_COLOR (35, A_BOLD)
-#define EDITOR_MARKED_COLOR IF_COLOR (36, A_REVERSE)
-#define EDITOR_WHITESPACE_COLOR IF_COLOR (37, 0 /* irrelevant */)
+#define EDITOR_BOLD_COLOR IF_COLOR (43, A_BOLD)
+#define EDITOR_MARKED_COLOR IF_COLOR (44, A_REVERSE)
+#define EDITOR_WHITESPACE_COLOR IF_COLOR (45, 0 /* irrelevant */)
/* Error dialog colors */
-#define ERROR_HOT_NORMAL IF_COLOR (38, 0)
-#define ERROR_HOT_FOCUS IF_COLOR (39, 0)
+#define ERROR_HOT_NORMAL IF_COLOR (46, 0)
+#define ERROR_HOT_FOCUS IF_COLOR (47, 0)
#ifdef HAVE_SLANG
# define CTYPE const char *
@@ -91,6 +100,19 @@ extern int alarm_colors[4];
# define CTYPE int
#endif
+/* File Types for file highlighting */
+struct file_types_t {
+ char *ftmp;
+ char *fdoc;
+ char *farch;
+ char *fsrc;
+ char *fmedia;
+ char *fgraph;
+ char *fdbase;
+};
+
+extern struct file_types_t file_types;
+
void init_colors (void);
void done_colors (void);
void mc_init_pair (int index, CTYPE foreground, CTYPE background);
--- mc/src/main.c.orig 2006-09-22 21:14:58 +0600
+++ mc/src/main.c 2008-02-24 16:39:50 +0500
@@ -918,6 +918,7 @@ static menu_entry OptMenu[] = {
{' ', N_("c&Onfirmation..."), 'O', confirm_box},
{' ', N_("&Display bits..."), 'D', display_bits_box},
{' ', N_("learn &Keys..."), 'K', learn_keys},
+ {' ', N_("file &Highlighting..."),'H', file_highlighting_box},
#ifdef USE_VFS
{' ', N_("&Virtual FS..."), 'V', configure_vfs},
#endif /* !USE_VFS */
@@ -1433,6 +1434,15 @@ done_mc (void)
save_hotlist ();
done_screen ();
vfs_add_current_stamps ();
+
+ /* Free file highlighting variables */
+ g_free(file_types.ftmp);
+ g_free(file_types.fdoc);
+ g_free(file_types.farch);
+ g_free(file_types.fsrc);
+ g_free(file_types.fmedia);
+ g_free(file_types.fgraph);
+ g_free(file_types.fdbase);
}
/* This should be called after destroy_dlg since panel widgets
@@ -1883,7 +1893,9 @@ print_color_usage (void)
" Menus: menu, menuhot, menusel, menuhotsel\n"
" Editor: editnormal, editbold, editmarked\n"
" Help: helpnormal, helpitalic, helpbold, helplink, helpslink\n"
- " File types: directory, executable, link, stalelink, device, special, core\n"
+ " File types: directory, executable, link, stalelink, device, special,\n"
+ " core, hidden, temp, doc, archive, source, media, graph,\n"
+ " database\n"
"\n" "Colors:\n"
" black, gray, red, brightred, green, brightgreen, brown,\n"
" yellow, blue, brightblue, magenta, brightmagenta, cyan,\n"
--- mc/src/screen.c.orig 2007-08-24 18:22:29 +0600
+++ mc/src/screen.c 2008-02-24 16:45:29 +0500
@@ -106,6 +106,9 @@ int filetype_mode = 1;
/* The hook list for the select file function */
Hook *select_file_hook = 0;
+/* File Types for file highlighting */
+struct file_types_t file_types;
+
static cb_ret_t panel_callback (Widget *, widget_msg_t msg, int parm);
static int panel_event (Gpm_Event *event, void *);
static void paint_frame (WPanel *panel);
@@ -487,24 +490,72 @@ to_buffer (char *dest, int just_mode, in
}
static int
+is_file_type(char *extension, char *file_type)
+{
+ char *ft;
+ char *buf;
+ char *ext;
+
+/* skip empty file types */
+ if (!file_type || !*file_type)
+ return 0;
+
+ buf = ft = g_strdup(file_type);
+ while (buf)
+ {
+ ext =
+#if defined(SUNOS) || defined(SOLARIS) || defined(SUNOS41x) || defined(SUNOS5x)
+ sunos_get_token(&buf, ",");
+#else
+ strsep(&buf, ",");
+#endif
+ if (!strcasecmp(extension, ext))
+ {
+ g_free(ft);
+ return 1;
+ }
+ }
+ g_free(ft);
+ return 0;
+}
+
+static int
file_compute_color (int attr, file_entry *fe)
{
+ int color;
+
switch (attr) {
case SELECTED:
- return (SELECTED_COLOR);
+ color = SELECTED_COLOR;
+ break;
case MARKED:
- return (MARKED_COLOR);
+ color = MARKED_COLOR;
+ break;
case MARKED_SELECTED:
- return (MARKED_SELECTED_COLOR);
+ color = MARKED_SELECTED_COLOR;
+ break;
case STATUS:
- return (NORMAL_COLOR);
+ color = NORMAL_COLOR;
+ break;
case NORMAL:
default:
- if (!filetype_mode)
- return (NORMAL_COLOR);
+ color = file_entry_color(fe);
}
+ return color;
+}
+
+int
+file_entry_color (file_entry *fe)
+{
+ char *ext = extension(fe->fname);
+
+ if (filetype_mode)
+ {
/* if filetype_mode == true */
+ if (fe->fname[0]=='.' && strcmp(fe->fname, ".."))
+ return (HIDDEN_COLOR);
+ else
if (S_ISDIR (fe->st.st_mode))
return (DIRECTORY_COLOR);
else if (S_ISLNK (fe->st.st_mode)) {
@@ -533,7 +584,39 @@ file_compute_color (int attr, file_entry
else if (fe->fname && (!strcmp (fe->fname, "core")
|| !strcmp (extension (fe->fname), "core")))
return (CORE_COLOR);
-
+ else
+ { /* file-extentions groups colorizing */
+ int tmpi;
+ char *new_ext = g_malloc(strlen(ext)+3);
+ for(tmpi=0;tmpi <= strlen(ext);tmpi++)
+ new_ext[tmpi] = tolower(ext[tmpi]);
+
+ if (is_file_type(new_ext, file_types.ftmp)) {
+ g_free(new_ext);
+ return (TEMP_COLOR);
+ } else if (is_file_type(new_ext, file_types.fdoc)) {
+ g_free(new_ext);
+ return (DOC_COLOR);
+ } else if (is_file_type(new_ext, file_types.farch)) {
+ g_free(new_ext);
+ return (ARCH_COLOR);
+ } else if (is_file_type(new_ext, file_types.fsrc)) {
+ g_free(new_ext);
+ return (SRC_COLOR);
+ } else if (is_file_type(new_ext, file_types.fmedia)) {
+ g_free(new_ext);
+ return (MEDIA_COLOR);
+ } else if (is_file_type(new_ext, file_types.fgraph)) {
+ g_free(new_ext);
+ return (GRAPH_COLOR);
+ } else if (is_file_type(new_ext, file_types.fdbase)) {
+ g_free(new_ext);
+ return (DBASE_COLOR);
+ }
+ g_free(new_ext);
+ }
+ return (NORMAL_COLOR);
+ }
return (NORMAL_COLOR);
}
--- mc/src/setup.c.orig 2006-02-23 20:32:18 +0500
+++ mc/src/setup.c 2008-02-24 16:39:50 +0500
@@ -41,6 +41,7 @@
#include "win.h" /* lookup_key */
#include "cmd.h"
#include "file.h" /* safe_delete */
+#include "color.h" /* safe_delete */
#ifdef USE_VFS
#include "../vfs/gc.h"
@@ -368,6 +369,15 @@ save_setup (void)
ftpfs_proxy_host, profile);
#endif /* USE_VFS && USE_NETCODE */
+ /* Save file highlighting info */
+ save_string ("File Types", "temp", file_types.ftmp, profile_name);
+ save_string ("File Types", "doc", file_types.fdoc, profile_name);
+ save_string ("File Types", "archive", file_types.farch, profile_name);
+ save_string ("File Types", "source", file_types.fsrc, profile_name);
+ save_string ("File Types", "media", file_types.fmedia, profile_name);
+ save_string ("File Types", "graphics", file_types.fgraph, profile_name);
+ save_string ("File Types", "database", file_types.fdbase, profile_name);
+
#ifdef HAVE_CHARSET
save_string( "Misc", "display_codepage",
get_codepage_id( display_codepage ), profile_name );
@@ -457,10 +467,10 @@ load_mode (const char *section)
static char *
do_load_string (const char *s, const char *ss, const char *def)
{
- char *buffer = g_malloc (BUF_SMALL);
+ char *buffer = g_malloc (BUF_MEDIUM);
char *p;
- load_string (s, ss, def, buffer, BUF_SMALL);
+ load_string (s, ss, def, buffer, BUF_MEDIUM);
p = g_strdup (buffer);
g_free (buffer);
@@ -557,6 +567,22 @@ load_setup (void)
load_string ("Colors", "color_terminals", "",
color_terminal_string, sizeof (color_terminal_string));
+ /* Load file highlighting info */
+ file_types.ftmp = do_load_string ("File Types", "temp",
+ "tmp,$$$,~,bak");
+ file_types.fdoc = do_load_string ("File Types", "doc",
+ "txt,doc,rtf,diz,ctl,me,ps,pdf,xml,xsd,xslt,dtd,html,shtml,htm,mail,msg,lsm,po,nroff,man,tex,sgml,css,text,letter");
+ file_types.farch = do_load_string ("File Types", "archive",
+ "gz,bz2,tar,tgz,rpm,Z,rar,zip,arj,cab,lzh,lha,zoo,arc,ark");
+ file_types.fsrc = do_load_string ("File Types", "source",
+ "c,h,cc,hh,cpp,hpp,asm,py,pl,pm,inc,cgi,php,phps,js,java,jav,jasm,sh,bash,diff,patch,pas,tcl,tk,awk,m4,st,mak,sl,ada,caml,ml,mli,mly,mll,mlp,sas,prg");
+ file_types.fmedia = do_load_string ("File Types", "media",
+ "mp2,mp3,mpg,ogg,mpeg,wav,avi,asf,mov,mol,mpl,xm,mod,it,med,mid,midi,s3m,umx");
+ file_types.fgraph = do_load_string ("File Types", "graphics",
+ "jpg,jpeg,gif,png,tif,pcx,bmp,xpm,xbm,eps,pic,rle,ico,wmf,omf,ai,cdr");
+ file_types.fdbase = do_load_string ("File Types", "database",
+ "dbf,mdn,db,mdb,dat,fox,dbx,mdx,sql,mssql,msql,ssql,pgsql,xls,cdx,dbi");
+
/* Load the directory history */
/* directory_history_load (); */
/* Remove the temporal entries */