return c;
}
-static char *getmime(const char *file)
-{
- static regex_t regex;
- static uint i;
- static const uint len = LEN(assocs);
-
- for (i = 0; i < len; ++i) {
- if (regcomp(®ex, assocs[i].regex, REG_NOSUB | REG_EXTENDED | REG_ICASE) != 0)
- continue;
-
- if (regexec(®ex, file, 0, NULL, 0) == 0) {
- regfree(®ex);
- return assocs[i].mime;
- }
- }
-
- regfree(®ex);
- return NULL;
-}
-
static int setfilter(regex_t *regex, char *filter)
{
static size_t len;
continue;
/* If NNN_USE_EDITOR is set, open text in EDITOR */
- if (cfg.useeditor)
- if (getmime(dents[cur].name) ||
- (get_output(g_buf, CMD_LEN_MAX, "file", FILE_OPTS, newpath, FALSE) &&
- strstr(g_buf, "text/") == g_buf)) {
- spawn(editor, newpath, editor_arg, path, F_NORMAL);
- continue;
- }
+ if (cfg.useeditor &&
+ get_output(g_buf, CMD_LEN_MAX, "file", FILE_OPTS, newpath, FALSE) &&
+ strstr(g_buf, "text/") == g_buf) {
+ spawn(editor, newpath, editor_arg, path, F_NORMAL);
+ continue;
+ }
/* Invoke desktop opener as last resort */
spawn(utils[OPENER], newpath, NULL, NULL, F_NOWAIT | F_NOTRACE);
enum action act; /* Action */
};
-/* Extension pattern and mime combination */
-struct assoc {
- char *regex; /* Regex to match on filename */
- char *mime; /* File type */
-};
-
-static struct assoc assocs[] = {
- { "\\.(c|cpp|h|log|md|py|rb|sh|txt)$", "text" },
-};
-
static struct key bindings[] = {
/* Back */
{ KEY_BACKSPACE, SEL_BACK },