mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-22 04:22:34 +03:00
Port mc.ext to INI format.
Ticket #2773: 'include' keyword (for command class def) have no effect if it was defined before 'Include' keyword (for command def). Ticket #3742: update comment in mc.ext.ini. doc: remove mc.ext.ini format description from manual page. Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
parent
1cb66b82bd
commit
d9eeec9a5a
@ -605,7 +605,7 @@ misc/ext.d/misc.sh
|
|||||||
misc/ext.d/text.sh
|
misc/ext.d/text.sh
|
||||||
misc/ext.d/web.sh
|
misc/ext.d/web.sh
|
||||||
misc/macros.d/Makefile
|
misc/macros.d/Makefile
|
||||||
misc/mc.ext
|
misc/mc.ext.ini
|
||||||
|
|
||||||
src/Makefile
|
src/Makefile
|
||||||
src/consaver/Makefile
|
src/consaver/Makefile
|
||||||
|
@ -1509,80 +1509,15 @@ comando cd interno\&.
|
|||||||
.\"NODE " Edit Extension File"
|
.\"NODE " Edit Extension File"
|
||||||
.SH " Editar el Archivo de Extensiones"
|
.SH " Editar el Archivo de Extensiones"
|
||||||
Abre el archivo
|
Abre el archivo
|
||||||
.I ~/.config/mc/mc.ext
|
.I ~/.config/mc/mc.ext.ini
|
||||||
en nuestro editor. El administrador puede optar por editar, en su lugar,
|
en nuestro editor.
|
||||||
el archivo de extensiones del sistema
|
If this file does not exist and you are not root, it will be copied from
|
||||||
.IR %pkgdatadir%/mc.ext .
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
El formato del archivo es como sigue:
|
If you are root, you can choose the file to edit: user's
|
||||||
.PP
|
.I ~/.config/mc/mc.ext.ini
|
||||||
Todas las líneas que empiecen con # o estén vacías serán ignoradas.
|
or system\-wide
|
||||||
.PP
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
Las líneas que comiencen en la primera columna deberán tener el siguiente formato:
|
The format of this file is described in detail in it.
|
||||||
.PP
|
|
||||||
.IR PalabraClave/descripción ,
|
|
||||||
i. e. todo lo que vaya tras la «/» hasta el fin de línea será la
|
|
||||||
.IR descripción .
|
|
||||||
.PP
|
|
||||||
Las palabras clave son:
|
|
||||||
.TP
|
|
||||||
.I shell
|
|
||||||
\-
|
|
||||||
.I Descripción
|
|
||||||
será una extensión (sin comodines). Un archivo coincide si su nombre acaba en
|
|
||||||
.IR Descripción .
|
|
||||||
Por ejemplo:
|
|
||||||
.I shell/.tar
|
|
||||||
corresponde a
|
|
||||||
.IR *.tar .
|
|
||||||
.TP
|
|
||||||
.I regex
|
|
||||||
\-
|
|
||||||
.I Descripción
|
|
||||||
es una expresión regular. Un archivo coincide si la salida de
|
|
||||||
.I file %f
|
|
||||||
encaja con la expresión regular
|
|
||||||
.I Descripción
|
|
||||||
(quitando la parte inicial «nombre de archivo:»)
|
|
||||||
.TP
|
|
||||||
.I default
|
|
||||||
\- Coincide para cualquier archivo. Se ignora la
|
|
||||||
.IR descripción .
|
|
||||||
.TP
|
|
||||||
.I include
|
|
||||||
\- Incorpora una sección común.
|
|
||||||
.I Descripción
|
|
||||||
es el nombre de la sección.
|
|
||||||
.PP
|
|
||||||
El resto de líneas deben comenzar con un espacio o tabulador y usar el
|
|
||||||
siguiente formato:
|
|
||||||
.I PalabraClave=comando
|
|
||||||
(sin espacios alrededor de «=»), donde
|
|
||||||
.I PalabraClave
|
|
||||||
debe ser:
|
|
||||||
.I Open
|
|
||||||
(si el usuario pulsa
|
|
||||||
.I Intro
|
|
||||||
o dos veces el ratón),
|
|
||||||
.I View
|
|
||||||
(F3),
|
|
||||||
.I Edit
|
|
||||||
(F4) o
|
|
||||||
.I Include
|
|
||||||
(para agregar reglas de la sección común).
|
|
||||||
.I Comando
|
|
||||||
es cualquier comando en línea del shell, con
|
|
||||||
.\"LINK2"
|
|
||||||
sustitución de macro
|
|
||||||
.\"Macro Substitution"
|
|
||||||
simple.
|
|
||||||
.PP
|
|
||||||
Las reglas se aplican en estricto orden. Aunque se produzca una
|
|
||||||
coincidencia, si la acción solicitada no está disponible, se ignora y la
|
|
||||||
búsqueda continúa (por ejemplo, si un archivo encaja con dos entradas,
|
|
||||||
pero la acción Ver no está definida en la primera, al pulsar F3, se
|
|
||||||
ejecuta la acción Ver de la segunda). Por eso, como último recurso
|
|
||||||
.I default
|
|
||||||
sí debe incluir todas las acciones.
|
|
||||||
.\"NODE " Background jobs"
|
.\"NODE " Background jobs"
|
||||||
.SH " Trabajos en Segundo Plano"
|
.SH " Trabajos en Segundo Plano"
|
||||||
Nos permite controlar el estado de cualquier proceso de Midnight Commander
|
Nos permite controlar el estado de cualquier proceso de Midnight Commander
|
||||||
@ -2900,7 +2835,7 @@ Buscar la próxima coincidencia.
|
|||||||
.PP
|
.PP
|
||||||
.B F8
|
.B F8
|
||||||
Intercambia entre el modo crudo y procesado: esto mostrará el archivo como se encuentra en disco
|
Intercambia entre el modo crudo y procesado: esto mostrará el archivo como se encuentra en disco
|
||||||
o si se ha especificado un filtro de visualización en el archivo mc.ext, entonces
|
o si se ha especificado un filtro de visualización en el archivo mc.ext.ini, entonces
|
||||||
la salida filtrada. El modo actual es siempre el contrario al mostrado
|
la salida filtrada. El modo actual es siempre el contrario al mostrado
|
||||||
en la etiqueta del botón, en tanto que el botón muestra el modo en el que entraremos
|
en la etiqueta del botón, en tanto que el botón muestra el modo en el que entraremos
|
||||||
con la pulsación de esa tecla.
|
con la pulsación de esa tecla.
|
||||||
@ -3122,7 +3057,7 @@ de directorio empleando la siguiente sintaxis:
|
|||||||
.PP
|
.PP
|
||||||
.I /archivo.tar/utar://[directorio\-dentro\-tar]
|
.I /archivo.tar/utar://[directorio\-dentro\-tar]
|
||||||
.PP
|
.PP
|
||||||
El archivo mc.ext también ofrece un atajo para los archivos tar, esto quiere decir
|
El archivo mc.ext.ini también ofrece un atajo para los archivos tar, esto quiere decir
|
||||||
que normalmente basta con apuntar a un archivo tar y pulsar Intro para entrar en el
|
que normalmente basta con apuntar a un archivo tar y pulsar Intro para entrar en el
|
||||||
archivo tar. Véase la sección
|
archivo tar. Véase la sección
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
@ -4009,7 +3944,7 @@ ya estemos ahí, en cuyo caso moverá la selección al último nombre de archivo
|
|||||||
Si esta variable está activada (por defecto lo está) se recurrirá al
|
Si esta variable está activada (por defecto lo está) se recurrirá al
|
||||||
comando «file» para reconocer los tipos de archivo referidos en el archivo
|
comando «file» para reconocer los tipos de archivo referidos en el archivo
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
mc.ext\&.
|
mc.ext.ini\&.
|
||||||
.\"Edit Extension File"
|
.\"Edit Extension File"
|
||||||
.TP
|
.TP
|
||||||
.I xtree_mode
|
.I xtree_mode
|
||||||
@ -4163,11 +4098,11 @@ que de estar definida se emplearía en vez de %pkgdatadir%.
|
|||||||
.IP
|
.IP
|
||||||
Archivo de ayuda.
|
Archivo de ayuda.
|
||||||
.PP
|
.PP
|
||||||
.I %pkgdatadir%/mc.ext
|
.I %pkgdatadir%/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Archivo de extensiones por defecto del sistema.
|
Archivo de extensiones por defecto del sistema.
|
||||||
.PP
|
.PP
|
||||||
.I ~/.config/mc/mc.ext
|
.I ~/.config/mc/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Archivo de usuario de extensiones y configuración de visor y editor. Si
|
Archivo de usuario de extensiones y configuración de visor y editor. Si
|
||||||
está presente prevalece sobre el contenido de los archivos del sistema.
|
está presente prevalece sobre el contenido de los archivos del sistema.
|
||||||
|
@ -1299,66 +1299,16 @@ A cd belső parancs
|
|||||||
leírásánál.
|
leírásánál.
|
||||||
.\"NODE " Edit Extension File"
|
.\"NODE " Edit Extension File"
|
||||||
.SH " Társítások"
|
.SH " Társítások"
|
||||||
Ez az ~/.config/mc/mc.ext szerkesztéséhez segítségül fogja hívni a
|
Ez az
|
||||||
szövegszerkesztődet. A fájl formátuma a következő (a formátum a 3.0\-ás
|
.I ~/.config/mc/mc.ext.ini
|
||||||
verzióval megváltozott):
|
szerkesztéséhez segítségül fogja hívni a szövegszerkesztődet.
|
||||||
.PP
|
If this file does not exist and you are not root, it will be copied from
|
||||||
Minden # jellel kezdődő sor, vagy üres sor kommentárnak tekinthető.
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
.PP
|
If you are root, you can choose the file to edit: user's
|
||||||
A sorok az első rovatban látható formátumnak megfelelően kezdődnek:
|
.I ~/.config/mc/mc.ext.ini
|
||||||
.PP
|
or system\-wide
|
||||||
.IR kulcsszó/desc ,
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
pl. akármi a
|
The format of this file is described in detail in it.
|
||||||
.I kulcsszó/
|
|
||||||
után úgy, hogy a sor vége karakter előtt a
|
|
||||||
.I desc
|
|
||||||
áll kulcsszó lehet:
|
|
||||||
.PP
|
|
||||||
.I shell
|
|
||||||
.IP
|
|
||||||
bármely kiterjesztés esetén, amely ponttal kezdődik (nem szükséges a
|
|
||||||
helyettesítő karaktert beírni, például: .tar az *.tar párja)
|
|
||||||
.PP
|
|
||||||
.I regex
|
|
||||||
.IP
|
|
||||||
(szabványos kifejezés; regular expression esetén)
|
|
||||||
.PP
|
|
||||||
.I type
|
|
||||||
.IP
|
|
||||||
(azokra a fájlokra illeszkedik, amelyek tartalmazzák a `file %f`
|
|
||||||
szöveget. A fájlnév a `file %f` résztől törlődik)
|
|
||||||
.PP
|
|
||||||
.I default
|
|
||||||
.IP
|
|
||||||
(illeszkedik bármely fájlra, kiterjesztésétől függetlenül)
|
|
||||||
.PP
|
|
||||||
A többi sor kezdődhet szóközzel, vagy tabulátorral, a formátumuk pedig a
|
|
||||||
következő:
|
|
||||||
.PP
|
|
||||||
.I keyword=command
|
|
||||||
(szóközt nem szabad az egyenlőségjel mellé írni), ahol a
|
|
||||||
.I kulcsszó
|
|
||||||
lehet:
|
|
||||||
.PP
|
|
||||||
.I Open
|
|
||||||
(ha a felhasználó lenyomja az Enter\-t, vagy duplán kattint),
|
|
||||||
.I View
|
|
||||||
(F3) és
|
|
||||||
.I Edit
|
|
||||||
(F4).
|
|
||||||
.PP
|
|
||||||
.I command
|
|
||||||
ez bármely egysoros shell parancs lehet, az egyszerű
|
|
||||||
.\"LINK2"
|
|
||||||
Macro Helyettesítővel\&.
|
|
||||||
.\"Macro Substitution"
|
|
||||||
.PP
|
|
||||||
A feladatokatokat fentről lefelé értékeljük ki (tehát a sorrend nagyon
|
|
||||||
fontos). Ha néhány műveletet keresünk, a keresés úgy folytatódik,
|
|
||||||
mintha ez a cél nem létezne (pl. ha a fájl tartalmazza az első és a
|
|
||||||
második bejegyzést és a Nézet művelet hiányzik az elsőből, akkor az F3
|
|
||||||
lenyomására a Nézet művelet a második bejegyzést fogja használni.
|
|
||||||
Alapértelmezésben végrehajt minden műveletet.
|
|
||||||
.\"NODE " Background jobs"
|
.\"NODE " Background jobs"
|
||||||
.SH " Háttérmunkák"
|
.SH " Háttérmunkák"
|
||||||
Ezzel szabályozhatod néhány Commander háttérfolyamat állapotát (csak a
|
Ezzel szabályozhatod néhány Commander háttérfolyamat állapotát (csak a
|
||||||
@ -2393,7 +2343,7 @@ A következő egyezőt keresi.
|
|||||||
.PP
|
.PP
|
||||||
.B F8
|
.B F8
|
||||||
Vált a Nyers és Feldolgozott mód között: ez a fájlt, úgy mutatja meg,
|
Vált a Nyers és Feldolgozott mód között: ez a fájlt, úgy mutatja meg,
|
||||||
ahogy megtalálta, vagy, ha folyamatszűrő meg van adva az mc.ext fájlban,
|
ahogy megtalálta, vagy, ha folyamatszűrő meg van adva az mc.ext.ini fájlban,
|
||||||
akkor a szűrő kimenetét. A Jelenlegi mód mindig a másik, mit amit a gomb
|
akkor a szűrő kimenetét. A Jelenlegi mód mindig a másik, mit amit a gomb
|
||||||
felirata mutat.
|
felirata mutat.
|
||||||
.PP
|
.PP
|
||||||
@ -2663,7 +2613,7 @@ következő szintaktikájú parancs segítségével tudod átváltani könyvtár
|
|||||||
.PP
|
.PP
|
||||||
.I /filename.tar:utar/[dir\-inside\-tar]
|
.I /filename.tar:utar/[dir\-inside\-tar]
|
||||||
.PP
|
.PP
|
||||||
Az mc.ext fájl már tartalmaz gyorsbillentyűket a tar fájlokhoz, ezért
|
Az mc.ext.ini fájl már tartalmaz gyorsbillentyűket a tar fájlokhoz, ezért
|
||||||
csak rá kell mutatnod a tar fájlra és le kell nyomnod az entert ahhoz,
|
csak rá kell mutatnod a tar fájlra és le kell nyomnod az entert ahhoz,
|
||||||
hogy beléphess a tar fájlba, ehhez nézd meg a
|
hogy beléphess a tar fájlba, ehhez nézd meg a
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
@ -3153,11 +3103,11 @@ ez vissza fog állítódni a /usr könyvtárra.
|
|||||||
.IP
|
.IP
|
||||||
A program súgó fájlja.
|
A program súgó fájlja.
|
||||||
.PP
|
.PP
|
||||||
.I %pkgdatadir%/mc.ext
|
.I %pkgdatadir%/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Az alapértelmezett rendszerszintű kiterjesztés fájl.
|
Az alapértelmezett rendszerszintű kiterjesztés fájl.
|
||||||
.PP
|
.PP
|
||||||
.I ~/.config/mc/mc.ext
|
.I ~/.config/mc/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
A felhasználó saját kiterjesztései, nézet beállítások és szerkesztési
|
A felhasználó saját kiterjesztései, nézet beállítások és szerkesztési
|
||||||
beállítások. Ezek felülbírálják a rendszerszintű fájl bejegyzéseit, ha
|
beállítások. Ezek felülbírálják a rendszerszintű fájl bejegyzéseit, ha
|
||||||
|
@ -1314,60 +1314,14 @@ comando cd interno\&.
|
|||||||
.\"NODE " Edit Extension File"
|
.\"NODE " Edit Extension File"
|
||||||
.SH " Modifica file estensioni"
|
.SH " Modifica file estensioni"
|
||||||
Questo comando invocherà l'editor sul file
|
Questo comando invocherà l'editor sul file
|
||||||
.IR ~/.config/mc/mc.ext .
|
.IR ~/.config/mc/mc.ext.ini .
|
||||||
Il fomato di questo file è il seguente (il formato è cambiato dalla
|
If this file does not exist and you are not root, it will be copied from
|
||||||
versione 3.0):
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
.PP
|
If you are root, you can choose the file to edit: user's
|
||||||
Tutte le righe che iniziano per # vengono ignorate.
|
.I ~/.config/mc/mc.ext.ini
|
||||||
.PP
|
or system\-wide
|
||||||
Le righe che cominciano dalla prima colonna devono avere il seguente formato:
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
.PP
|
The format of this file is described in detail in it.
|
||||||
.IR parolachiave/descrizione ,
|
|
||||||
i.e. qualsiasi cosa dopo
|
|
||||||
.I parolachiave/
|
|
||||||
fino al fine riga è
|
|
||||||
.I descrizione
|
|
||||||
.PP
|
|
||||||
parolachiave può essere:
|
|
||||||
.TP
|
|
||||||
.I shell
|
|
||||||
(allora descrizione è qualsiasi estensione (no caratteri jolly),
|
|
||||||
cioè corrisponde a tutti i file *descrizione. Esempio: .tar corrisponde a *.tar)
|
|
||||||
.TP
|
|
||||||
.I regex
|
|
||||||
(descrizione è un'espressione regolare)
|
|
||||||
.TP
|
|
||||||
.I type
|
|
||||||
(file corrisponde se `file %f` corrisponde all'espressione regolare descrizione
|
|
||||||
(nome del file: a partire da `file %f` viene rimosso))
|
|
||||||
.TP
|
|
||||||
.I default
|
|
||||||
(corrisponde a qualsiasi file indipendentemente dalla descrizione)
|
|
||||||
.PP
|
|
||||||
Le altre linee devono cominciare con uno spazio o una tabulazione e devono essere nel formato:
|
|
||||||
.I parolachiave=comando
|
|
||||||
(senza spazi intorno a =), dove
|
|
||||||
.I parolachiave
|
|
||||||
deve essere:
|
|
||||||
.I Open
|
|
||||||
(se l'utente preme Invio o fa doppio clic),
|
|
||||||
.I View
|
|
||||||
(F3),
|
|
||||||
.I Edit
|
|
||||||
(F4).
|
|
||||||
.I command
|
|
||||||
è qualsiasi comando shell di una riga, con la semplice
|
|
||||||
.\"LINK2"
|
|
||||||
sostituzione macro\&.
|
|
||||||
.\"Macro Substitution"
|
|
||||||
.PP
|
|
||||||
Gli obiettivi sono valutati dalla cima al fondo, perciò l'ordine è
|
|
||||||
importante. Se alcune azioni mancano, la ricerca continua come se
|
|
||||||
la regola non corrispondesse, cioè se un file corrisponde alla prima e
|
|
||||||
alla seconda voce e manca la voce View in cima, allora premendo F3 verrà
|
|
||||||
usata l'azione View della seconda voce.
|
|
||||||
.I Normalmente
|
|
||||||
dovrebbero corrispondere tutte le azioni.
|
|
||||||
.\"NODE " Background jobs"
|
.\"NODE " Background jobs"
|
||||||
.SH " Processi in background"
|
.SH " Processi in background"
|
||||||
Questo comando permette di controllare lo stato di ogni processo
|
Questo comando permette di controllare lo stato di ogni processo
|
||||||
@ -2425,7 +2379,7 @@ un'espressione di ricerca, altrimenti trova la prossima occorrenza.
|
|||||||
.PP
|
.PP
|
||||||
.B F8
|
.B F8
|
||||||
Cambia tra modalità Normale/Filtrata: questo mostrerà il file come si
|
Cambia tra modalità Normale/Filtrata: questo mostrerà il file come si
|
||||||
trova su disco o se è stato specificato un filtro nel file mc.ext, come
|
trova su disco o se è stato specificato un filtro nel file mc.ext.ini, come
|
||||||
esce dal filtro. La modalità corrente è sempre quella diversa da quella
|
esce dal filtro. La modalità corrente è sempre quella diversa da quella
|
||||||
mostrata dall'etichetta del tasto, dato che il bottone rappresenta la
|
mostrata dall'etichetta del tasto, dato che il bottone rappresenta la
|
||||||
modalità nella quale si entra premendolo.
|
modalità nella quale si entra premendolo.
|
||||||
@ -2672,7 +2626,7 @@ al file tar usare la seguente sintassi:
|
|||||||
.PP
|
.PP
|
||||||
.I /nomefile.tar/utar://[dir\-dentro\-tar]
|
.I /nomefile.tar/utar://[dir\-dentro\-tar]
|
||||||
.PP
|
.PP
|
||||||
Il file mc.ext già fornisce un collegamento per il file tar; ciò
|
Il file mc.ext.ini già fornisce un collegamento per il file tar; ciò
|
||||||
significa che normalmente basta selezionare un file tar e premere invio
|
significa che normalmente basta selezionare un file tar e premere invio
|
||||||
per entrare nel file tar, vedere la sezione
|
per entrare nel file tar, vedere la sezione
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
@ -3082,7 +3036,7 @@ pannello.
|
|||||||
Se questa variabile è abilitata (valore predefinito) userà il comando
|
Se questa variabile è abilitata (valore predefinito) userà il comando
|
||||||
file per trovare delle corrispondenze sui tipi di file elencati nel
|
file per trovare delle corrispondenze sui tipi di file elencati nel
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
file mc.ext\&.
|
file mc.ext.ini\&.
|
||||||
.\"Edit Extension File"
|
.\"Edit Extension File"
|
||||||
.TP
|
.TP
|
||||||
.I xtree_mode
|
.I xtree_mode
|
||||||
@ -3146,11 +3100,11 @@ e se la variabile non è impostata, passerà alla directory %pkgdatadir% .
|
|||||||
.IP
|
.IP
|
||||||
Il file di aiuto per il programma.
|
Il file di aiuto per il programma.
|
||||||
.PP
|
.PP
|
||||||
.I %pkgdatadir%/mc.ext
|
.I %pkgdatadir%/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Il file delle estensioni di sistema predefinito.
|
Il file delle estensioni di sistema predefinito.
|
||||||
.PP
|
.PP
|
||||||
.I ~/.config/mc/mc.ext
|
.I ~/.config/mc/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Le estensioni dell'utente, la configurazione del visualizzatore e
|
Le estensioni dell'utente, la configurazione del visualizzatore e
|
||||||
dell'editor di file. Se presenti, questi file si sovrappongono ai file di
|
dell'editor di file. Se presenti, questi file si sovrappongono ai file di
|
||||||
|
@ -1483,87 +1483,14 @@ description.
|
|||||||
.\"NODE " Edit Extension File"
|
.\"NODE " Edit Extension File"
|
||||||
.SH " Edit Extension File"
|
.SH " Edit Extension File"
|
||||||
This will invoke your editor on the file
|
This will invoke your editor on the file
|
||||||
.IR ~/.config/mc/mc.ext .
|
.IR ~/.config/mc/mc.ext.ini .
|
||||||
The format of this file following:
|
If this file does not exist and you are not root, it will be copied from
|
||||||
.PP
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
All lines starting with # or empty lines are thrown away.
|
If you are root, you can choose the file to edit: user's
|
||||||
.PP
|
.I ~/.config/mc/mc.ext.ini
|
||||||
Lines starting in the first column should have following format:
|
or system\-wide
|
||||||
.PP
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
.IR keyword/expr ,
|
The format of this file is described in detail in it.
|
||||||
i.e. everything after the slash until new line is
|
|
||||||
.IR expr .
|
|
||||||
.PP
|
|
||||||
.I keyword
|
|
||||||
can be:
|
|
||||||
.TP
|
|
||||||
.I shell
|
|
||||||
\-
|
|
||||||
.I expr
|
|
||||||
is an extension (no wildcards). File matches it its name ends
|
|
||||||
with
|
|
||||||
.IR expr .
|
|
||||||
Example:
|
|
||||||
.I shell/.tar
|
|
||||||
matches
|
|
||||||
.IR *.tar .
|
|
||||||
.TP
|
|
||||||
.I regex
|
|
||||||
\-
|
|
||||||
.I expr
|
|
||||||
is a regular expression. File matches if its name matches the regular
|
|
||||||
expression.
|
|
||||||
.TP
|
|
||||||
.I directory
|
|
||||||
\-
|
|
||||||
.I expr
|
|
||||||
is a regular expression. File matches if it is a directory and its name
|
|
||||||
matches the regular expression.
|
|
||||||
.TP
|
|
||||||
.I type
|
|
||||||
\-
|
|
||||||
.I expr
|
|
||||||
is a regular expression. File matches if the output of
|
|
||||||
.I file %f
|
|
||||||
without the initial "filename:" part matches regular expression
|
|
||||||
.IR expr .
|
|
||||||
.TP
|
|
||||||
.I default
|
|
||||||
\- matches any file.
|
|
||||||
.I expr
|
|
||||||
is ignored.
|
|
||||||
.TP
|
|
||||||
.I include
|
|
||||||
\- denotes a common section.
|
|
||||||
.I expr
|
|
||||||
is the name of the section.
|
|
||||||
.PP
|
|
||||||
Other lines should start with a space or tab and should be of the format:
|
|
||||||
.I keyword=command
|
|
||||||
(with no spaces around =), where
|
|
||||||
.I keyword
|
|
||||||
should be:
|
|
||||||
.I Open
|
|
||||||
(invoked on Enter or double click),
|
|
||||||
.I View
|
|
||||||
(F3),
|
|
||||||
.I Edit
|
|
||||||
(F4) or
|
|
||||||
.I Include
|
|
||||||
(to add rules from the common section).
|
|
||||||
.I command
|
|
||||||
is any one\-line shell command, with the simple
|
|
||||||
.\"LINK2"
|
|
||||||
macro substitution\&.
|
|
||||||
.\"Macro Substitution"
|
|
||||||
.PP
|
|
||||||
Rules are matched from top to bottom, thus the order is important. If
|
|
||||||
the appropriate action is missing, search continues as if this rule
|
|
||||||
didn't match (i.e. if a file matches the first and second entry and View
|
|
||||||
action is missing in the first one, then on pressing F3 the View action
|
|
||||||
from the second entry will be used).
|
|
||||||
.I default
|
|
||||||
should match all the actions.
|
|
||||||
.\"NODE " Background jobs"
|
.\"NODE " Background jobs"
|
||||||
.SH " Background Jobs"
|
.SH " Background Jobs"
|
||||||
This lets you control the state of any background Midnight Commander
|
This lets you control the state of any background Midnight Commander
|
||||||
@ -2975,7 +2902,7 @@ and vice versa.
|
|||||||
.TP
|
.TP
|
||||||
.B F8
|
.B F8
|
||||||
Toggle Raw/Parsed mode: This will show the file as found on disk or if
|
Toggle Raw/Parsed mode: This will show the file as found on disk or if
|
||||||
a processing filter has been specified in the mc.ext file, then the
|
a processing filter has been specified in the mc.ext.ini file, then the
|
||||||
output from the filter. Current mode is always the other than written
|
output from the filter. Current mode is always the other than written
|
||||||
on the button label, since on the button is the mode which you enter
|
on the button label, since on the button is the mode which you enter
|
||||||
by that key.
|
by that key.
|
||||||
@ -3280,7 +3207,7 @@ tar file by using the following syntax:
|
|||||||
.PP
|
.PP
|
||||||
.I /filename.tar/utar://[dir\-inside\-tar]
|
.I /filename.tar/utar://[dir\-inside\-tar]
|
||||||
.PP
|
.PP
|
||||||
The mc.ext file already provides a shortcut for tar files, this means
|
The mc.ext.ini file already provides a shortcut for tar files, this means
|
||||||
that usually you just point to a tar file and press return to enter
|
that usually you just point to a tar file and press return to enter
|
||||||
into the tar file, see the
|
into the tar file, see the
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
@ -4160,7 +4087,7 @@ the panel.
|
|||||||
If this variable is on (the default) it will spawn the file command to
|
If this variable is on (the default) it will spawn the file command to
|
||||||
match the file types listed on the
|
match the file types listed on the
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
mc.ext file\&.
|
mc.ext.ini file\&.
|
||||||
.\"Edit Extension File"
|
.\"Edit Extension File"
|
||||||
.TP
|
.TP
|
||||||
.I xtree_mode
|
.I xtree_mode
|
||||||
@ -4308,11 +4235,11 @@ environment variable. If it's set, its value is used instead of
|
|||||||
.IP
|
.IP
|
||||||
The help file for the program.
|
The help file for the program.
|
||||||
.PP
|
.PP
|
||||||
.I %pkgdatadir%/mc.ext
|
.I %pkgdatadir%/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
The default system\-wide extensions file.
|
The default system\-wide extensions file.
|
||||||
.PP
|
.PP
|
||||||
.I ~/.config/mc/mc.ext
|
.I ~/.config/mc/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
User's own extension, view configuration and edit configuration
|
User's own extension, view configuration and edit configuration
|
||||||
file. They override the contents of the system wide files if present.
|
file. They override the contents of the system wide files if present.
|
||||||
|
@ -1095,65 +1095,16 @@ przemieszczanie.
|
|||||||
.PP
|
.PP
|
||||||
.\"NODE " Edit Extension File"
|
.\"NODE " Edit Extension File"
|
||||||
.SH " Edycja rozszerzeń pliów (Edit Extension File)"
|
.SH " Edycja rozszerzeń pliów (Edit Extension File)"
|
||||||
Ta komenda wywoła twój edytor na plik ~/.config/mc/mc.ext. Format tego pliku jest
|
Ta komenda wywoła twój edytor na plik
|
||||||
następujący (zmienił się on począwszy od wersji 3.0):
|
.IR ~/.config/mc/mc.ext.ini .
|
||||||
.PP
|
If this file does not exist and you are not root, it will be copied from
|
||||||
Wszystkie linie zaczynające się od #, lub puste, nie są brane pod uwagę.
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
.PP
|
If you are root, you can choose the file to edit: user's
|
||||||
Linie zaczynające się od pierwszej kolumny powinny mieć następujący format:
|
.I ~/.config/mc/mc.ext.ini
|
||||||
.PP
|
or system\-wide
|
||||||
.IR "słowo kluczowe/wzorzec" ,
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
tj. wszystko po
|
The format of this file is described in detail in it.
|
||||||
.I słowie kluczowym/
|
PP
|
||||||
dopóki nową linią nie jest
|
|
||||||
.I wzorzec
|
|
||||||
.PP
|
|
||||||
słowami kluczowymi mogą być:
|
|
||||||
.PP
|
|
||||||
.I shell
|
|
||||||
.IP
|
|
||||||
(wzorzec jest wtedy wyrażeniem (bez jokerów), tj. pasują wszystkie pliki
|
|
||||||
*wzorzec. Np.: .tar znaczy *.tar)
|
|
||||||
.PP
|
|
||||||
.I regex
|
|
||||||
.IP
|
|
||||||
(wzorzec jest normalnym wyrażeniem)
|
|
||||||
.PP
|
|
||||||
.I type
|
|
||||||
.IP
|
|
||||||
(plik spełnia wymagania jeśli `file %f` zgadza się z wyrażeniem wzorca
|
|
||||||
(nazwa: część z `file %f` jest usuwana))
|
|
||||||
.PP
|
|
||||||
.I default
|
|
||||||
.IP
|
|
||||||
(wszystkie pliki spełniają, nie ważne jaki jest wzorzec)
|
|
||||||
.PP
|
|
||||||
Inne linie powinny zaczynać się od spacji lub tabulacji i powinny
|
|
||||||
mieć one następujący format:
|
|
||||||
.PP
|
|
||||||
.I słowo kluczowe=komenda
|
|
||||||
(bez spacji przy znaku =), gdzie
|
|
||||||
.I słowem kluczowym
|
|
||||||
powinno być:
|
|
||||||
.PP
|
|
||||||
.I Open (Otwórz)
|
|
||||||
(jeśli użytkownik naciśnie Enter lub kliknie dwukrotnie),
|
|
||||||
.I View (Podgląd)
|
|
||||||
(F3),
|
|
||||||
.I Edit (Edytuj)
|
|
||||||
(F4).
|
|
||||||
.PP
|
|
||||||
.I command
|
|
||||||
jest jakąkolwiek jedną linią powłoki, z zastosowaniem
|
|
||||||
prostego makra.
|
|
||||||
.PP
|
|
||||||
Cele są przeliczane od góry do dołu (porządek jest tu istotny). Jeśli
|
|
||||||
jakiejś akcji brakuje, poszukiwanie kontynuuje się tak jakby wcześniej
|
|
||||||
nie nastąpiła żadna zgodność (tj. jeśli zgadza się z wzorcem pierwszym
|
|
||||||
i trzecim i brakuje w pierwszym akcji View, to naciskając F3 użyta będzie
|
|
||||||
akcja z trzeciego wzorca). Opcja default powinna wychwycić wszystkie możliwe
|
|
||||||
akcje.
|
|
||||||
.PP
|
|
||||||
.\"NODE " Background Jobs"
|
.\"NODE " Background Jobs"
|
||||||
.SH " Prace w tle (Background jobs)"
|
.SH " Prace w tle (Background jobs)"
|
||||||
Pozwalają ci one kontrolować status jakichkolwiek procesów wykonywanych
|
Pozwalają ci one kontrolować status jakichkolwiek procesów wykonywanych
|
||||||
@ -2052,7 +2003,7 @@ Szuka następnego wystąpienia.
|
|||||||
.B F8
|
.B F8
|
||||||
Przełącza tryby Raw i Parsed. Pokaże to plik w postaci takiej w jakiej
|
Przełącza tryby Raw i Parsed. Pokaże to plik w postaci takiej w jakiej
|
||||||
został znaleziony na dysku, lub jeśli został wybrany jakiś filtr, bądź
|
został znaleziony na dysku, lub jeśli został wybrany jakiś filtr, bądź
|
||||||
też plik spełnia wymagania w pliku mc.ext, wyświetlane jest to co
|
też plik spełnia wymagania w pliku mc.ext.ini, wyświetlane jest to co
|
||||||
przekazuje filtr. Aktualne ustawienie jest zawsze przeciwne niż to napisane
|
przekazuje filtr. Aktualne ustawienie jest zawsze przeciwne niż to napisane
|
||||||
na przycisku, przycisk wskazuje zawsze to co się stanie po jego
|
na przycisku, przycisk wskazuje zawsze to co się stanie po jego
|
||||||
naciśnięciu.
|
naciśnięciu.
|
||||||
@ -2300,7 +2251,7 @@ następującej konstrukcji:
|
|||||||
.PP
|
.PP
|
||||||
.I /nazwa_pliku.tar:utar/[katalogu\-wewnątrza\-archiwum]
|
.I /nazwa_pliku.tar:utar/[katalogu\-wewnątrza\-archiwum]
|
||||||
.PP
|
.PP
|
||||||
Plik mc.ext pozwala już na tworzenie skrótów do plików tar, oznacza to, że
|
Plik mc.ext.ini pozwala już na tworzenie skrótów do plików tar, oznacza to, że
|
||||||
możesz wybrać jakiś plik tar i nacisnąć enter aby do niego wejść, zobacz
|
możesz wybrać jakiś plik tar i nacisnąć enter aby do niego wejść, zobacz
|
||||||
sekcję Edycja pliku rozszerzeń po więcej szczegółów na temat tego jak
|
sekcję Edycja pliku rozszerzeń po więcej szczegółów na temat tego jak
|
||||||
zostało to pomyślane.
|
zostało to pomyślane.
|
||||||
@ -2791,7 +2742,7 @@ Podświetlenie uprawnień również pracuje w tym trybie.
|
|||||||
.I use_file_to_guess_type
|
.I use_file_to_guess_type
|
||||||
.IP
|
.IP
|
||||||
Jeśli ta zmienna jest ustawiona (standardowo) próbuje się dostosować
|
Jeśli ta zmienna jest ustawiona (standardowo) próbuje się dostosować
|
||||||
rozszerzenie pliku do tego wybranego w pliku mc.ext.
|
rozszerzenie pliku do tego wybranego w pliku mc.ext.ini.
|
||||||
.PP
|
.PP
|
||||||
.I xtree_mode
|
.I xtree_mode
|
||||||
.IP
|
.IP
|
||||||
@ -2854,11 +2805,11 @@ jeśli jest ona nie ustawiona to znowu przetwarzany jest katalog /usr.
|
|||||||
.IP
|
.IP
|
||||||
Plik pomocy dla programu.
|
Plik pomocy dla programu.
|
||||||
.PP
|
.PP
|
||||||
%pkgdatadir%/mc.ext
|
%pkgdatadir%/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Standardowy plik rozszerzeń plików.
|
Standardowy plik rozszerzeń plików.
|
||||||
.PP
|
.PP
|
||||||
~/.config/mc/mc.ext
|
~/.config/mc/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Własny plik użytkownika, konfiguruje podgląd i edycje plików. Ma wyższy
|
Własny plik użytkownika, konfiguruje podgląd i edycje plików. Ma wyższy
|
||||||
priorytet niż plik systemowy.
|
priorytet niż plik systemowy.
|
||||||
|
@ -1412,7 +1412,7 @@ Midnight Commander за счет добавления в личное меню
|
|||||||
.PP
|
.PP
|
||||||
После выбора пункта меню
|
После выбора пункта меню
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
.I "Файл расширений"
|
.I "Редактировать файл расширений"
|
||||||
.\"Edit Extension File"
|
.\"Edit Extension File"
|
||||||
вы можете связать с определённым расширением файла (окончанием имени
|
вы можете связать с определённым расширением файла (окончанием имени
|
||||||
после последней точки) программу, которая будет запускаться для
|
после последней точки) программу, которая будет запускаться для
|
||||||
@ -1670,86 +1670,17 @@ CDPATH (смотрите описание
|
|||||||
встроенной команды cd\&.
|
встроенной команды cd\&.
|
||||||
.\"The cd internal command"
|
.\"The cd internal command"
|
||||||
.\"NODE " Edit Extension File"
|
.\"NODE " Edit Extension File"
|
||||||
.SH " Файл расширений"
|
.SH " Редактировать файл расширений"
|
||||||
Этот пункт меню "Команда" служит для вызова редактора и редактирования
|
Этот пункт меню "Команда" служит для вызова редактора и редактирования
|
||||||
файла
|
файла
|
||||||
.BR ~/.config/mc/mc.ext .
|
.BR ~/.config/mc/mc.ext.ini .
|
||||||
Этот файл имеет следующий формат (формат был изменен в версии 3.0):
|
Если этот файл не существует и вы не root, этот файл будет скопирован с
|
||||||
.PP
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
Все строки, начинающиеся с #, или пустые строки игнорируются.
|
Если вы root, вы можете выбрать, какой из файлов редактировать: пользовательский
|
||||||
.PP
|
.I ~/.config/mc/mc.ext.ini
|
||||||
Строки, начинающиеся с первой колонки (будем говорить, что с таких строк
|
или системный
|
||||||
начинаются секции файла расширений), должны иметь следующий формат:
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
.PP
|
Формат этого файла подробно описан в нём самом.
|
||||||
.IR keyword/desc ,
|
|
||||||
то есть всё, что стоит после
|
|
||||||
.I keyword/
|
|
||||||
и до конца строки, интерпретируется как
|
|
||||||
.IR desc .
|
|
||||||
.PP
|
|
||||||
В качестве keyword может стоять одно из следующих слов:
|
|
||||||
.TP
|
|
||||||
.I shell
|
|
||||||
если desc начинается с точки (мета\-символы не допускаются), то desc \-
|
|
||||||
это расширение имени файла, то есть шаблону соответствуют все файлы,
|
|
||||||
оканчивающиеся на desc. Пример: .tar будет означать *.tar. Если desc
|
|
||||||
не начинается с точки, то desc трактуется как полное имя файла.
|
|
||||||
.TP
|
|
||||||
.I regex
|
|
||||||
desc \- регулярное выражение. Обратите внимание на то, что используется
|
|
||||||
библиотека GNU regex, в силу чего "\\|" соответствует просто символу
|
|
||||||
"|", а "|" имеет специальное значение (логическое ИЛИ). Аналогично,
|
|
||||||
вместо скобок "(" и ")" надо использовать "\\(" и "\\)".
|
|
||||||
.TP
|
|
||||||
.I directory
|
|
||||||
Файл является каталогом, и его имя соответствует регулярному выражению desc.
|
|
||||||
.TP
|
|
||||||
.I type
|
|
||||||
в этом случае выбираются такие файлы, для которых `file %f`
|
|
||||||
соответствует регулярному выражению desc (часть filename: из `file %f`
|
|
||||||
удалена).
|
|
||||||
.TP
|
|
||||||
.I default
|
|
||||||
подходит любой файл, независимо от того, какое значение принимает desc.
|
|
||||||
.TP
|
|
||||||
.I include
|
|
||||||
\- означает общую секцию.
|
|
||||||
.PP
|
|
||||||
Все строки в секции, кроме первой, должны начинаться с пробела или
|
|
||||||
символа табуляции и иметь следующий формат:
|
|
||||||
.PP
|
|
||||||
.I keyword=command
|
|
||||||
(без пробелов возле "="), где
|
|
||||||
.I keyword
|
|
||||||
должно быть:
|
|
||||||
.PP
|
|
||||||
.I Open
|
|
||||||
(строка задаёт действия, выполняемые в том случае, когда пользователь
|
|
||||||
нажимает Enter или дважды щёлкает мышкой по имени файла),
|
|
||||||
.I View
|
|
||||||
(F3),
|
|
||||||
.I Edit
|
|
||||||
(F4) или
|
|
||||||
.I Include
|
|
||||||
(для добавления правил из общей секции).
|
|
||||||
.PP
|
|
||||||
.I command
|
|
||||||
\- любая однострочная команда оболочки, в которой допускаются простые
|
|
||||||
.\"LINK2"
|
|
||||||
макроподстановки\&.
|
|
||||||
.\"Macro Substitution"
|
|
||||||
.PP
|
|
||||||
Действие вычисляется сверху вниз (таким образом порядок следования
|
|
||||||
важен). Если некоторое действие пропущено, поиск продолжается как в
|
|
||||||
случае, если это действие не соответствует условию. Другими словами если
|
|
||||||
файл соответствует первой и второй секции, но действие View пропущено в
|
|
||||||
первой секции, то при нажатии клавиши
|
|
||||||
.B F3
|
|
||||||
будет использовано действие
|
|
||||||
.I View
|
|
||||||
из второй секции.
|
|
||||||
.B default
|
|
||||||
должно описывать все действия.
|
|
||||||
.\"NODE " Background Jobs"
|
.\"NODE " Background Jobs"
|
||||||
.SH " Фоновые задания"
|
.SH " Фоновые задания"
|
||||||
Этот пункт меню позволяет вам управлять фоновыми заданиями, запущенными
|
Этот пункт меню позволяет вам управлять фоновыми заданиями, запущенными
|
||||||
@ -3394,7 +3325,7 @@ ASCII и шестнадцатеричный (hex). Для переключени
|
|||||||
.B F8
|
.B F8
|
||||||
Переключение между режимами Raw/Parsed: файл отображается либо в том
|
Переключение между режимами Raw/Parsed: файл отображается либо в том
|
||||||
виде, как он записан на диске, либо пропущенным через фильтр, который
|
виде, как он записан на диске, либо пропущенным через фильтр, который
|
||||||
задан для этого типа файлов в mc.ext. Текущий режим отображения всегда
|
задан для этого типа файлов в mc.ext.ini. Текущий режим отображения всегда
|
||||||
обратный по отношению к тому, который указан на экранной кнопке
|
обратный по отношению к тому, который указан на экранной кнопке
|
||||||
.BR F8 ,
|
.BR F8 ,
|
||||||
поскольку на кнопке указывается режим, к которому осуществляется переход
|
поскольку на кнопке указывается режим, к которому осуществляется переход
|
||||||
@ -3777,7 +3708,7 @@ tar\-файлам, используя команду chdir. Для перехо
|
|||||||
.PP
|
.PP
|
||||||
.I cd ./filename.tar/utar://[dir\-inside\-tar]
|
.I cd ./filename.tar/utar://[dir\-inside\-tar]
|
||||||
.PP
|
.PP
|
||||||
Файл mc.ext по умолчанию содержит команды для просмотра
|
Файл mc.ext.ini по умолчанию содержит команды для просмотра
|
||||||
tar\-файлов, то есть обычно для получения списка файлов tar\-архива
|
tar\-файлов, то есть обычно для получения списка файлов tar\-архива
|
||||||
достаточно просто переместить указатель на имя tar\-файла и нажать
|
достаточно просто переместить указатель на имя tar\-файла и нажать
|
||||||
.BR Enter .
|
.BR Enter .
|
||||||
@ -4688,7 +4619,7 @@ subshell. Если она установлена, то при нажатии
|
|||||||
.B file
|
.B file
|
||||||
для определения типа файла в соответствии с типами файлов, указанными в файле
|
для определения типа файла в соответствии с типами файлов, указанными в файле
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
mc.ext\&.
|
mc.ext.ini\&.
|
||||||
.\"Edit Extension File"
|
.\"Edit Extension File"
|
||||||
.PP
|
.PP
|
||||||
.I xtree_mode
|
.I xtree_mode
|
||||||
@ -4837,11 +4768,11 @@ insert=\\e[Op
|
|||||||
.IP
|
.IP
|
||||||
Файл подсказки для программы.
|
Файл подсказки для программы.
|
||||||
.PP
|
.PP
|
||||||
.I %pkgdatadir%/mc.ext
|
.I %pkgdatadir%/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Используемый по умолчанию общесистемный файл расширений.
|
Используемый по умолчанию общесистемный файл расширений.
|
||||||
.PP
|
.PP
|
||||||
.I ~/.config/mc/mc.ext
|
.I ~/.config/mc/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Файл расширений пользователя. Если этот файл существует, он используется
|
Файл расширений пользователя. Если этот файл существует, он используется
|
||||||
вместо общесистемного файла расширений.
|
вместо общесистемного файла расширений.
|
||||||
|
@ -1282,84 +1282,14 @@ awk '$9 ~! /incoming/ { print $9 }' < /var/log/xferlog
|
|||||||
.\"NODE " Edit Extension File"
|
.\"NODE " Edit Extension File"
|
||||||
.SH " Уреди датотеку врста"
|
.SH " Уреди датотеку врста"
|
||||||
Ово покреће ваш уређивач над датотеком
|
Ово покреће ваш уређивач над датотеком
|
||||||
.IR ~/.config/mc/mc.ext .
|
.IR ~/.config/mc/mc.ext.ini .
|
||||||
Формат ове датотеке је следећи:
|
If this file does not exist and you are not root, it will be copied from
|
||||||
.PP
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
Сви редови који почињу на # или празни редови се одбацују.
|
If you are root, you can choose the file to edit: user's
|
||||||
.PP
|
.I ~/.config/mc/mc.ext.ini
|
||||||
Редови који почињу у првој колони би требало да су у следећем формату:
|
or system\-wide
|
||||||
.PP
|
.IR %sysconfdir%/mc/mc.ext.ini .
|
||||||
.IR кључна_реч/израз ,
|
The format of this file is described in detail in it.
|
||||||
тј. све од косе црте до знака за нови ред је
|
|
||||||
.IR израз .
|
|
||||||
.PP
|
|
||||||
.I кључна_реч
|
|
||||||
може да буде:
|
|
||||||
.TP
|
|
||||||
.I shell
|
|
||||||
\-
|
|
||||||
.I израз
|
|
||||||
је врста (без џокерских знакова). Датотека задовољава услов ако се
|
|
||||||
њено име завршава на
|
|
||||||
.IR израз .
|
|
||||||
На пример, израз:
|
|
||||||
.I shell/.tar
|
|
||||||
задовољава
|
|
||||||
.IR *.tar .
|
|
||||||
.TP
|
|
||||||
.I regex
|
|
||||||
\-
|
|
||||||
.I израз
|
|
||||||
је регуларни израз. Датотека задовољава услов ако њен назив задовољава
|
|
||||||
регуларни израз.
|
|
||||||
.TP
|
|
||||||
.I type
|
|
||||||
\-
|
|
||||||
.I израз
|
|
||||||
је регуларни израз. Датотека задовољава услов ако излаз наредбе
|
|
||||||
.I file %f
|
|
||||||
без почетног дела `назив_датотеке:' задовољава регуларни израз
|
|
||||||
.IR израз .
|
|
||||||
.TP
|
|
||||||
.I default
|
|
||||||
\- (подразумевано) задовољава било која датотека.
|
|
||||||
.I израз
|
|
||||||
се занемарује.
|
|
||||||
.TP
|
|
||||||
.I include
|
|
||||||
\- означава општи одељак.
|
|
||||||
.I израз
|
|
||||||
је назив одељка.
|
|
||||||
.PP
|
|
||||||
Други редови би требало да почињу размаком или табулатором и требало
|
|
||||||
би да су у формату:
|
|
||||||
.I кључна_реч=наредба
|
|
||||||
(без размака око знака =), где би
|
|
||||||
.I кључна_реч
|
|
||||||
требало да буде:
|
|
||||||
.I Open
|
|
||||||
(покретање при притиску на тастер `Enter' или двоструком притиску
|
|
||||||
дугмета миша),
|
|
||||||
.I View
|
|
||||||
(преглед са F3),
|
|
||||||
.I Edit
|
|
||||||
(уређивање са F4) или
|
|
||||||
.I Include
|
|
||||||
(за додавање правила из општег одељка).
|
|
||||||
.I наредба
|
|
||||||
је било која наредба љуске од једног реда, уз једноставну
|
|
||||||
.\"LINK2"
|
|
||||||
замену макроа\&.
|
|
||||||
.\"Macro Substitution"
|
|
||||||
.PP
|
|
||||||
Правила се задовољавају од врха до дна, па је стога редослед битан.
|
|
||||||
Ако одговарајућа радња не постоји, претрага се наставља, као да
|
|
||||||
правило није ни постојало (нпр. ако датотека задовољава први и други
|
|
||||||
унос а радња под `View' (Преглед) недостаје у првом уносу, онда ће се
|
|
||||||
при притиску на F3 користити радња под `View' из другог уноса).
|
|
||||||
Правило
|
|
||||||
.I default
|
|
||||||
(подразумевано) би требало да задовољи све радње.
|
|
||||||
.\"NODE " Background jobs"
|
.\"NODE " Background jobs"
|
||||||
.SH " Позадински послови"
|
.SH " Позадински послови"
|
||||||
Ово вам омогућава да управљате стањем било ког позадинског процеса
|
Ово вам омогућава да управљате стањем било ког позадинског процеса
|
||||||
@ -2416,7 +2346,7 @@ linux би вас одвело у /usr/src/linux).
|
|||||||
.PP
|
.PP
|
||||||
.B F8
|
.B F8
|
||||||
Смењује сирови/рашчлањени режим: ово ће приказати датотеку онако каква
|
Смењује сирови/рашчлањени режим: ово ће приказати датотеку онако каква
|
||||||
је она на диску или, у случају да је у датотеци mc.ext задан филтар за
|
је она на диску или, у случају да је у датотеци mc.ext.ini задан филтар за
|
||||||
обраду, као излаз филтра. Текући режим је увек онај други од оног
|
обраду, као излаз филтра. Текући режим је увек онај други од оног
|
||||||
који стоји на натпису дугмета, пошто се на дугмету налази режим који
|
који стоји на натпису дугмета, пошто се на дугмету налази режим који
|
||||||
укључујете тим тастером.
|
укључујете тим тастером.
|
||||||
@ -2677,7 +2607,7 @@ if the
|
|||||||
.PP
|
.PP
|
||||||
.I /datoteka.tar/utar://[дир\-унутар\-дат]
|
.I /datoteka.tar/utar://[дир\-унутар\-дат]
|
||||||
.PP
|
.PP
|
||||||
Датотека `mc.ext' већ садржи пречицу за датотеке врсте `tar', што
|
Датотека `mc.ext.ini' већ садржи пречицу за датотеке врсте `tar', што
|
||||||
значи да можете само показати на датотеку врсте `tar' и притиснути
|
значи да можете само показати на датотеку врсте `tar' и притиснути
|
||||||
`Return' или `Enter' да бисте ушли у њу; погледајте одељак
|
`Return' или `Enter' да бисте ушли у њу; погледајте одељак
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
@ -3089,7 +3019,7 @@ base_color=normal=white,default:marked=magenta,default
|
|||||||
Уколико је ова променљива укључена (подразумевано), ПН ће покренути
|
Уколико је ова променљива укључена (подразумевано), ПН ће покренути
|
||||||
наредбу `file' за одређивање врсте датотека које су задане у
|
наредбу `file' за одређивање врсте датотека које су задане у
|
||||||
.\"LINK2"
|
.\"LINK2"
|
||||||
датотеци `mc.ext'\&.
|
датотеци `mc.ext.ini'\&.
|
||||||
.\"Edit Extension File"
|
.\"Edit Extension File"
|
||||||
.TP
|
.TP
|
||||||
.I xtree_mode
|
.I xtree_mode
|
||||||
@ -3151,11 +3081,11 @@ insert=\\e[Op
|
|||||||
.IP
|
.IP
|
||||||
Датотека помоћи за програм.
|
Датотека помоћи за програм.
|
||||||
.PP
|
.PP
|
||||||
.I %pkgdatadir%/mc.ext
|
.I %pkgdatadir%/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Подразумевана системска датотека врста.
|
Подразумевана системска датотека врста.
|
||||||
.PP
|
.PP
|
||||||
.I ~/.config/mc/mc.ext
|
.I ~/.config/mc/mc.ext.ini
|
||||||
.IP
|
.IP
|
||||||
Корисничке датотеке врста, подешавања прегледача и уређивача. Уколико
|
Корисничке датотеке врста, подешавања прегледача и уређивача. Уколико
|
||||||
постоје, оне заобилазе системске датотеке.
|
постоје, оне заобилазе системске датотеке.
|
||||||
|
@ -55,7 +55,8 @@
|
|||||||
#define MC_ASHRC_FILE "ashrc"
|
#define MC_ASHRC_FILE "ashrc"
|
||||||
#define MC_INPUTRC_FILE "inputrc"
|
#define MC_INPUTRC_FILE "inputrc"
|
||||||
#define MC_CONFIG_FILE "ini"
|
#define MC_CONFIG_FILE "ini"
|
||||||
#define MC_EXT_FILE "mc.ext"
|
#define MC_EXT_FILE "mc.ext.ini"
|
||||||
|
#define MC_EXT_OLD_FILE "mc.ext"
|
||||||
#define MC_FILEPOS_FILE "filepos"
|
#define MC_FILEPOS_FILE "filepos"
|
||||||
#define MC_HISTORY_FILE "history"
|
#define MC_HISTORY_FILE "history"
|
||||||
#define MC_HOTLIST_FILE "hotlist"
|
#define MC_HOTLIST_FILE "hotlist"
|
||||||
|
@ -70,6 +70,7 @@ static const struct
|
|||||||
|
|
||||||
/* User should move this file with applying some changes in file */
|
/* User should move this file with applying some changes in file */
|
||||||
{ &mc_config_str, MC_EXT_FILE },
|
{ &mc_config_str, MC_EXT_FILE },
|
||||||
|
{ &mc_config_str, MC_EXT_OLD_FILE },
|
||||||
|
|
||||||
/* data */
|
/* data */
|
||||||
{ &mc_data_str, MC_SKINS_DIR },
|
{ &mc_data_str, MC_SKINS_DIR },
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
SUBDIRS = ext.d macros.d skins syntax
|
SUBDIRS = ext.d macros.d skins syntax
|
||||||
|
|
||||||
LIBFILES_OUT = mc.ext
|
LIBFILES_OUT = mc.ext.ini
|
||||||
|
|
||||||
noinst_DATA = xterm.ad
|
noinst_DATA = xterm.ad
|
||||||
|
|
||||||
|
850
misc/mc.ext.in
850
misc/mc.ext.in
@ -1,850 +0,0 @@
|
|||||||
# Midnight Commander 3.0 extension file
|
|
||||||
# Warning: Structure of this file has changed completely with version 3.0
|
|
||||||
#
|
|
||||||
# All lines starting with # or empty lines are thrown away.
|
|
||||||
# Lines starting in the first column should have following format:
|
|
||||||
#
|
|
||||||
# keyword/descNL, i.e. everything after keyword/ until new line is desc
|
|
||||||
#
|
|
||||||
# keyword can be:
|
|
||||||
#
|
|
||||||
# shell (desc is, when starting with a dot, any extension (no wildcars),
|
|
||||||
# i.e. matches all the files *desc . Example: .tar matches *.tar;
|
|
||||||
# if it doesn't start with a dot, it matches only a file of that name)
|
|
||||||
#
|
|
||||||
# shell/i (desc is, when starting with a dot, any extension (no wildcars),
|
|
||||||
# The same as shell but with case insensitive.
|
|
||||||
#
|
|
||||||
# regex (desc is an extended regular expression)
|
|
||||||
# Please note that we are using the GNU regex library and thus
|
|
||||||
# \| matches the literal | and | has special meaning (or) and
|
|
||||||
# () have special meaning and \( \) stand for literal ( ).
|
|
||||||
#
|
|
||||||
# regex/i (desc is an extended regular expression)
|
|
||||||
# The same as regex but with case insensitive.
|
|
||||||
#
|
|
||||||
# type (file matches this if `file %f` matches regular expression desc
|
|
||||||
# (the filename: part from `file %f` is removed))
|
|
||||||
# Ignored if the "file" utility isn't used (not found in configure
|
|
||||||
step or disabled in ini file).
|
|
||||||
#
|
|
||||||
# type/i (file matches this if `file %f` matches regular expression desc)
|
|
||||||
# The same as type but with case insensitive.
|
|
||||||
#
|
|
||||||
# directory (matches any directory matching regular expression desc)
|
|
||||||
#
|
|
||||||
# include (matches an include directive)
|
|
||||||
#
|
|
||||||
# default (matches any file no matter what desc is)
|
|
||||||
#
|
|
||||||
# Other lines should start with a space or tab and should be in the format:
|
|
||||||
#
|
|
||||||
# keyword=commandNL (with no spaces around =), where keyword should be:
|
|
||||||
#
|
|
||||||
# Open (if the user presses Enter or doubleclicks it),
|
|
||||||
#
|
|
||||||
# View (F3), Edit (F4)
|
|
||||||
#
|
|
||||||
# Include is the keyword used to add any further entries from an include/
|
|
||||||
# section
|
|
||||||
#
|
|
||||||
# command is any one-line shell command, with the following substitutions:
|
|
||||||
#
|
|
||||||
# %% -> % character
|
|
||||||
# %p -> name of the current file (without path, but pwd is its path).
|
|
||||||
# Also provided to external application as MC_EXT_BASENAME
|
|
||||||
# global variable
|
|
||||||
# %f -> name of the current file. Unlike %p, if file is located on a
|
|
||||||
# non-local virtual filesystem, i.e. either tarfs or ftpfs,
|
|
||||||
# then the file will be temporarily copied into a local directory
|
|
||||||
# and %f will be the full path to this local temporal file.
|
|
||||||
# If you don't want to get a local copy and want to get the
|
|
||||||
# virtual fs path (like /#ftp:ftp.cvut.cz/pub/hungry/xword), then
|
|
||||||
# use %d/%p instead of %f.
|
|
||||||
# Also provided to external application as MC_EXT_FILENAME
|
|
||||||
# global variable
|
|
||||||
# %d -> name of the current directory (pwd, without trailing slash)
|
|
||||||
# Also provided to external application as MC_EXT_CURRENTDIR
|
|
||||||
# global variable
|
|
||||||
# %s -> "selected files", i.e. space separated list of tagged files if any
|
|
||||||
# or name of the current file.
|
|
||||||
# Also provided to external application as MC_EXT_SELECTED
|
|
||||||
# global variable
|
|
||||||
# %t -> list of tagged files
|
|
||||||
# Also provided to external application as MC_EXT_ONLYTAGGED
|
|
||||||
# global variable
|
|
||||||
# %u -> list of tagged files (they'll be untaged after the command)
|
|
||||||
#
|
|
||||||
# (If these 6 letters are in uppercase, they refer to the other panel.
|
|
||||||
# But you shouldn't have to use it in this file.)
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# %cd -> the rest is a path mc should change into (cd won't work, since it's
|
|
||||||
# a child process). %cd handles even vfs names.
|
|
||||||
#
|
|
||||||
# %view -> the command you type will be piped into mc's internal file viewer
|
|
||||||
# if you type only the %view and no command, viewer will load %f file
|
|
||||||
# instead (i.e. no piping, so it is different to %view cat %f)
|
|
||||||
# %view may be directly followed by {} with a list of any of
|
|
||||||
# ascii (Ascii mode), hex (Hex mode), nroff (color highlighting for
|
|
||||||
# text using backspace for bold and underscore) and unform
|
|
||||||
# (no highlighting for nroff sequences) separated by commas.
|
|
||||||
#
|
|
||||||
# %var -> You use it like this: %var{VAR:default}. This macro will expand
|
|
||||||
# to the value of the VAR variable in the environment if it's set
|
|
||||||
# otherwise the value in default will be used. This is similar to
|
|
||||||
# the Bourne shell ${VAR-default} construct.
|
|
||||||
#
|
|
||||||
# Rules are applied from top to bottom, thus the order is important.
|
|
||||||
# If some actions are missing, search continues as if this target didn't
|
|
||||||
# match (i.e. if a file matches the first and second entry and View action
|
|
||||||
# is missing in the first one, then on pressing F3 the View action from
|
|
||||||
# the second entry will be used. default should catch all the actions.
|
|
||||||
#
|
|
||||||
# Any new entries you develop for you are always welcome if they are
|
|
||||||
# useful on more than one system. You can post your modifications
|
|
||||||
# as tickets at www.midnight-commander.org
|
|
||||||
|
|
||||||
|
|
||||||
### Changes ###
|
|
||||||
#
|
|
||||||
# Reorganization: 2012-03-07 Slava Zanko <slavazanko@gmail.com>
|
|
||||||
# 2021-03-28 Andrew Borodin <aborodin@vmail.ru>
|
|
||||||
# 2021-08-24 Tomas Szepe <szepe@pinerecords.com>
|
|
||||||
|
|
||||||
|
|
||||||
### GIT Repo ###
|
|
||||||
# gitfs changeset
|
|
||||||
regex/^\[git\]
|
|
||||||
Open=%cd %p/changesetfs://
|
|
||||||
View=%cd %p/patchsetfs://
|
|
||||||
|
|
||||||
|
|
||||||
### Archives ###
|
|
||||||
# Since we use "file -z", we should use regex/ and shell/ at first, then type/.
|
|
||||||
|
|
||||||
# .tgz, .tpz, .tar.gz, .tar.z, .tar.Z, .ipk, .gem
|
|
||||||
regex/\.t([gp]?z|ar\.g?[zZ])$|\.ipk$|\.gem$
|
|
||||||
Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.gz
|
|
||||||
|
|
||||||
shell/.tar.bz
|
|
||||||
# Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.bzip
|
|
||||||
|
|
||||||
regex/\.t(ar\.bz2|bz2?|b2)$
|
|
||||||
Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.bzip2
|
|
||||||
|
|
||||||
# .tar.lzma, .tlz
|
|
||||||
regex/\.t(ar\.lzma|lz)$
|
|
||||||
Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lzma
|
|
||||||
|
|
||||||
# .tar.lz
|
|
||||||
shell/.tar.lz
|
|
||||||
Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lz
|
|
||||||
|
|
||||||
# .tar.lz4, .tlz4
|
|
||||||
regex/\.t(ar\.lz4|lz4)$
|
|
||||||
Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.lz4
|
|
||||||
|
|
||||||
# .tar.xz, .txz
|
|
||||||
regex/\.t(ar\.xz|xz)$
|
|
||||||
Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.xz
|
|
||||||
|
|
||||||
# .tar.zst, .tzst
|
|
||||||
regex/\.t(ar\.zst|zst)$
|
|
||||||
Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.zst
|
|
||||||
|
|
||||||
# .tar.F - used in QNX
|
|
||||||
shell/.tar.F
|
|
||||||
# Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.F
|
|
||||||
|
|
||||||
# .qpr/.qpk - QNX Neutrino package installer files
|
|
||||||
regex/\.qp[rk]$
|
|
||||||
Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar.qpr
|
|
||||||
|
|
||||||
# tar
|
|
||||||
shell/i/.tar
|
|
||||||
Open=%cd %p/utar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view tar
|
|
||||||
|
|
||||||
# arj
|
|
||||||
regex/i/\.a(rj|[0-9][0-9])$
|
|
||||||
Open=%cd %p/uarj://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view arj
|
|
||||||
|
|
||||||
# cab
|
|
||||||
shell/i/.cab
|
|
||||||
Open=%cd %p/ucab://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cab
|
|
||||||
|
|
||||||
# ha
|
|
||||||
shell/i/.ha
|
|
||||||
Open=%cd %p/uha://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view ha
|
|
||||||
|
|
||||||
# rar
|
|
||||||
regex/i/\.r(ar|[0-9][0-9])$
|
|
||||||
Open=%cd %p/urar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view rar
|
|
||||||
|
|
||||||
# ALZip
|
|
||||||
shell/i/.alz
|
|
||||||
Open=%cd %p/ualz://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view alz
|
|
||||||
|
|
||||||
# cpio
|
|
||||||
shell/.cpio.Z
|
|
||||||
Open=%cd %p/ucpio://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.z
|
|
||||||
|
|
||||||
shell/.cpio.lz
|
|
||||||
Open=%cd %p/ucpio://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.lz
|
|
||||||
|
|
||||||
shell/.cpio.lz4
|
|
||||||
Open=%cd %p/ucpio://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.lz4
|
|
||||||
|
|
||||||
shell/.cpio.xz
|
|
||||||
Open=%cd %p/ucpio://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.xz
|
|
||||||
|
|
||||||
shell/.cpio.zst
|
|
||||||
Open=%cd %p/ucpio://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.zst
|
|
||||||
|
|
||||||
shell/.cpio.gz
|
|
||||||
Open=%cd %p/ucpio://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio.gz
|
|
||||||
|
|
||||||
shell/i/.cpio
|
|
||||||
Open=%cd %p/ucpio://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio
|
|
||||||
|
|
||||||
# initrd
|
|
||||||
regex/^(initramfs.*\.img|initrd(-.+)?\.img(-.+)?)$
|
|
||||||
Open=%cd %p/ucpio://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view cpio
|
|
||||||
|
|
||||||
# 7zip archives (they are not man pages)
|
|
||||||
shell/i/.7z
|
|
||||||
Open=%cd %p/u7z://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view 7z
|
|
||||||
|
|
||||||
# patch
|
|
||||||
regex/\.(diff|patch)(\.bz2)$
|
|
||||||
Open=%cd %p/patchfs://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view bz2
|
|
||||||
|
|
||||||
regex/\.(diff|patch)(\.(gz|Z))$
|
|
||||||
Open=%cd %p/patchfs://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view gz
|
|
||||||
|
|
||||||
regex/\.(diff|patch)(\.xz)$
|
|
||||||
Open=%cd %p/patchfs://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view xz
|
|
||||||
|
|
||||||
regex/\.(diff|patch)(\.zst)$
|
|
||||||
Open=%cd %p/patchfs://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view zst
|
|
||||||
|
|
||||||
# ls-lR
|
|
||||||
regex/(^|\.)ls-?lR(\.gz|Z|bz2)$
|
|
||||||
Open=%cd %p/lslR://
|
|
||||||
|
|
||||||
# trpm
|
|
||||||
shell/.trpm
|
|
||||||
Open=%cd %p/trpm://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/package.sh view trpm
|
|
||||||
|
|
||||||
# RPM packages (SuSE uses *.spm for source packages)
|
|
||||||
regex/\.(src\.rpm|spm)$
|
|
||||||
Open=%cd %p/rpm://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/package.sh view src.rpm
|
|
||||||
|
|
||||||
shell/.rpm
|
|
||||||
Open=%cd %p/rpm://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/package.sh view rpm
|
|
||||||
|
|
||||||
# deb
|
|
||||||
regex/\.u?deb$
|
|
||||||
Open=%cd %p/deb://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/package.sh view deb
|
|
||||||
|
|
||||||
# dpkg
|
|
||||||
shell/.debd
|
|
||||||
Open=%cd %p/debd://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/package.sh view debd
|
|
||||||
|
|
||||||
# apt
|
|
||||||
shell/.deba
|
|
||||||
Open=%cd %p/deba://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/package.sh view deba
|
|
||||||
|
|
||||||
# ISO9660
|
|
||||||
shell/i/.iso
|
|
||||||
Open=%cd %p/iso9660://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view iso9660
|
|
||||||
|
|
||||||
regex/\.(diff|patch)$
|
|
||||||
Open=%cd %p/patchfs://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view cat
|
|
||||||
|
|
||||||
# ar library
|
|
||||||
regex/\.s?a$
|
|
||||||
Open=%cd %p/uar://
|
|
||||||
#Open=%view{ascii} ar tv %f
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view ar
|
|
||||||
|
|
||||||
# gplib
|
|
||||||
shell/i/.lib
|
|
||||||
Open=%cd %p/ulib://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view lib
|
|
||||||
|
|
||||||
# Mailboxes
|
|
||||||
type/^ASCII\ mail\ text
|
|
||||||
Open=%cd %p/mailfs://
|
|
||||||
|
|
||||||
|
|
||||||
### Sources ###
|
|
||||||
|
|
||||||
# C/C++
|
|
||||||
regex/i/\.(c|cc|cpp)$
|
|
||||||
Include=editor
|
|
||||||
|
|
||||||
# C/C++ header
|
|
||||||
regex/i/\.(h|hh|hpp)$
|
|
||||||
Include=editor
|
|
||||||
|
|
||||||
# Fortran
|
|
||||||
shell/i/.f
|
|
||||||
Include=editor
|
|
||||||
|
|
||||||
# Assembler
|
|
||||||
regex/i/\.(s|asm)$
|
|
||||||
Include=editor
|
|
||||||
|
|
||||||
# .so libraries
|
|
||||||
regex/\.(so|so\.[0-9\.]*)$
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view so
|
|
||||||
|
|
||||||
# Object
|
|
||||||
type/^ELF
|
|
||||||
#Open=%var{PAGER:more} %f
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view elf
|
|
||||||
|
|
||||||
|
|
||||||
### Documentation ###
|
|
||||||
|
|
||||||
# Texinfo
|
|
||||||
#regex/\.(te?xi|texinfo)$
|
|
||||||
|
|
||||||
# GNU Info page
|
|
||||||
type/^Info\ text
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open info
|
|
||||||
|
|
||||||
shell/.info
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open info
|
|
||||||
|
|
||||||
# Exception: .3gp are video files not manual pages
|
|
||||||
shell/i/.3gp
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
# Troff with me macros.
|
|
||||||
# Exception - "read.me" is not a nroff file.
|
|
||||||
shell/read.me
|
|
||||||
Open=
|
|
||||||
View=
|
|
||||||
|
|
||||||
shell/.me
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open nroff.me %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view nroff.me %var{PAGER:more}
|
|
||||||
|
|
||||||
# Troff with ms macros.
|
|
||||||
shell/.ms
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open nroff.ms %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view nroff.ms %var{PAGER:more}
|
|
||||||
|
|
||||||
# Manual page - compressed
|
|
||||||
type/troff.*gzip compressed
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open man.gz %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.gz %var{PAGER:more}
|
|
||||||
|
|
||||||
type/troff.*bzip compressed
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open man.bz %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.bz %var{PAGER:more}
|
|
||||||
|
|
||||||
type/troff.*bzip2 compressed
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open man.bz2 %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.bz2 %var{PAGER:more}
|
|
||||||
|
|
||||||
# Manual page
|
|
||||||
type/troff or preprocessor input
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open man %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man %var{PAGER:more}
|
|
||||||
|
|
||||||
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz$
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open man.lz %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lz %var{PAGER:more}
|
|
||||||
|
|
||||||
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lz4$
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open man.lz4 %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lz4 %var{PAGER:more}
|
|
||||||
|
|
||||||
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.lzma$
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open man.lzma %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.lzma %var{PAGER:more}
|
|
||||||
|
|
||||||
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.xz$
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open man.xz %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.xz %var{PAGER:more}
|
|
||||||
|
|
||||||
regex/([^0-9]|^[^\.]*)\.([1-9][A-Za-z]*|[ln])\.zst$
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open man.zst %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view man.zst %var{PAGER:more}
|
|
||||||
|
|
||||||
# Perl pod page
|
|
||||||
shell/.pod
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open pod %var{PAGER:more}
|
|
||||||
View=%view{ascii,nroff} @EXTHELPERSDIR@/text.sh view pod %var{PAGER:more}
|
|
||||||
|
|
||||||
# CHM
|
|
||||||
shell/i/.chm
|
|
||||||
Open=@EXTHELPERSDIR@/text.sh open chm
|
|
||||||
|
|
||||||
|
|
||||||
### Images ###
|
|
||||||
|
|
||||||
type/^GIF
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^JPEG
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/image.sh view jpeg
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^PC\ bitmap
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^PNG
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^JNG
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^MNG
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^TIFF
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^PBM
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^PGM
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^PPM
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
type/^Netpbm
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
shell/.xcf
|
|
||||||
Open=@EXTHELPERSDIR@/image.sh open xcf
|
|
||||||
|
|
||||||
shell/.xbm
|
|
||||||
Open=@EXTHELPERSDIR@/image.sh open xbm
|
|
||||||
|
|
||||||
shell/.xpm
|
|
||||||
Include=image
|
|
||||||
View=@EXTHELPERSDIR@/image.sh view xpm %f
|
|
||||||
|
|
||||||
shell/.ico
|
|
||||||
Include=image
|
|
||||||
|
|
||||||
shell/i/.svg
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/image.sh view svg
|
|
||||||
Open=@EXTHELPERSDIR@/image.sh open svg
|
|
||||||
|
|
||||||
|
|
||||||
### Sound files ###
|
|
||||||
|
|
||||||
regex/i/\.(wav|snd|voc|au|smp|aiff|snd|m4a|ape|aac|wv)$
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open common
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/sound.sh view common
|
|
||||||
|
|
||||||
regex/i/\.(mod|s3m|xm|it|mtm|669|stm|ult|far)$
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open mod
|
|
||||||
|
|
||||||
shell/i/.waw22
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open wav22
|
|
||||||
|
|
||||||
shell/i/.mp3
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open mp3
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/sound.sh view mp3
|
|
||||||
|
|
||||||
regex/i/\.og[gax]$
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open ogg
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/sound.sh view ogg
|
|
||||||
|
|
||||||
shell/i/.opus
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open opus
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/sound.sh view opus
|
|
||||||
|
|
||||||
regex/i/\.(spx|flac)$
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open common
|
|
||||||
|
|
||||||
regex/i/\.(midi?|rmid?)$
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open midi
|
|
||||||
|
|
||||||
shell/i/.wma
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open wma
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/sound.sh view wma
|
|
||||||
|
|
||||||
|
|
||||||
### Play lists ###
|
|
||||||
|
|
||||||
regex/i/\.(m3u|pls)$
|
|
||||||
Open=@EXTHELPERSDIR@/sound.sh open playlist
|
|
||||||
|
|
||||||
|
|
||||||
### Video ###
|
|
||||||
|
|
||||||
shell/i/.avi
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
regex/i/\.as[fx]$
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
shell/i/.divx
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
shell/i/.mkv
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
regex/i/\.(mov|qt)$
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
regex/i/\.(mp4|m4v|mpe?g)$
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
# MPEG-2 TS container + H.264 codec
|
|
||||||
shell/i/.mts
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
shell/i/.ts
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
shell/i/.vob
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
shell/i/.wmv
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
regex/i/\.fl[icv]$
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
shell/i/.ogv
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
regex/i/\.ra?m$
|
|
||||||
Open=@EXTHELPERSDIR@/video.sh open ram
|
|
||||||
|
|
||||||
# WebM
|
|
||||||
shell/i/.webm
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
type/WebM
|
|
||||||
Include=video
|
|
||||||
|
|
||||||
|
|
||||||
### Documents ###
|
|
||||||
|
|
||||||
# Postscript
|
|
||||||
type/^PostScript
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open ps
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view ps
|
|
||||||
|
|
||||||
# PDF
|
|
||||||
type/^PDF
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open pdf
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view pdf
|
|
||||||
|
|
||||||
# html
|
|
||||||
regex/i/\.html?$
|
|
||||||
Open=@EXTHELPERSDIR@/web.sh open html
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/web.sh view html
|
|
||||||
|
|
||||||
# StarOffice 5.2
|
|
||||||
shell/.sdw
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open ooffice
|
|
||||||
|
|
||||||
# StarOffice 6 and OpenOffice.org formats
|
|
||||||
regex/i/\.(odt|fodt|ott|sxw|stw|ods|fods|ots|sxc|stc|odp|fodp|otp|sxi|sti|odg|fodg|otg|sxd|std|odb|odf|sxm|odm|sxg)$
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open ooffice
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view odt
|
|
||||||
|
|
||||||
# AbiWord
|
|
||||||
shell/.abw
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open abw
|
|
||||||
|
|
||||||
# Gnumeric
|
|
||||||
shell/i/.gnumeric
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open gnumeric
|
|
||||||
|
|
||||||
# Microsoft Word Document
|
|
||||||
regex/i/\.(do[ct]|wri|docx)$
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open msdoc
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msdoc
|
|
||||||
type/^Microsoft\ Word
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open msdoc
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msdoc
|
|
||||||
|
|
||||||
# RTF document
|
|
||||||
shell/i/.rtf
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open msdoc
|
|
||||||
|
|
||||||
# Microsoft Excel Worksheet
|
|
||||||
regex/i/\.(xl[sw]|xlsx)$
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open msxls
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msxls
|
|
||||||
type/^Microsoft\ Excel
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open msxls
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msxls
|
|
||||||
|
|
||||||
# Microsoft PowerPoint Presentation
|
|
||||||
regex/i/\.(pp[ts]|pptx)$
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open msppt
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view msppt
|
|
||||||
|
|
||||||
# Use OpenOffice.org/LibreOffice to open any MS Office documents
|
|
||||||
type/^Microsoft\ Office\ Document
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open ooffice
|
|
||||||
type/^Microsoft\ OOXML
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open ooffice
|
|
||||||
|
|
||||||
# Framemaker
|
|
||||||
type/^FrameMaker
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open framemaker
|
|
||||||
|
|
||||||
# DVI
|
|
||||||
shell/i/.dvi
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open dvi
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view dvi
|
|
||||||
|
|
||||||
# TeX
|
|
||||||
shell/i/.tex
|
|
||||||
Include=editor
|
|
||||||
|
|
||||||
# Markdown
|
|
||||||
shell/i/.md
|
|
||||||
Include=editor
|
|
||||||
|
|
||||||
# DjVu
|
|
||||||
regex/i/\.djvu?$
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open djvu
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view djvu
|
|
||||||
|
|
||||||
# Comic Books
|
|
||||||
regex/i/\.cb[zr]$
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open comic
|
|
||||||
|
|
||||||
# Epup, mobi, fb2
|
|
||||||
regex/i/\.(epub|mobi|fb2)$
|
|
||||||
Open=@EXTHELPERSDIR@/doc.sh open ebook
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/doc.sh view ebook
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous ###
|
|
||||||
|
|
||||||
# Compiled Java classes
|
|
||||||
shell/.class
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view javaclass
|
|
||||||
|
|
||||||
# Imakefile
|
|
||||||
shell/Imakefile
|
|
||||||
Open=xmkmf -a
|
|
||||||
|
|
||||||
# Makefile.PL (MakeMaker)
|
|
||||||
regex/^Makefile\.(PL|pl)$
|
|
||||||
Open=%var{PERL:perl} %f
|
|
||||||
|
|
||||||
# Makefile
|
|
||||||
regex/[Mm]akefile
|
|
||||||
Open=make -f %f %{Enter parameters}
|
|
||||||
|
|
||||||
# sqlite3.db
|
|
||||||
type/^SQLite 3.x database
|
|
||||||
Open=@EXTHELPERSDIR@/misc.sh open sqlite
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view sqlite
|
|
||||||
|
|
||||||
# dbf
|
|
||||||
shell/i/.dbf
|
|
||||||
Open=@EXTHELPERSDIR@/misc.sh open dbf
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view dbf
|
|
||||||
|
|
||||||
# REXX script
|
|
||||||
regex/\.(rexx?|cmd)$
|
|
||||||
Open=rexx %f %{Enter parameters};echo "Press ENTER";read y
|
|
||||||
|
|
||||||
# Disk images for Commodore computers (VIC20, C64, C128)
|
|
||||||
shell/i/.d64
|
|
||||||
Open=%cd %p/uc1541://
|
|
||||||
View=%view{ascii} c1541 %f -list
|
|
||||||
Extract=c1541 %f -extract
|
|
||||||
|
|
||||||
# Glade, a user interface designer for GTK+ and GNOME
|
|
||||||
shell/i/.glade
|
|
||||||
Open=@EXTHELPERSDIR@/misc.sh open glade
|
|
||||||
|
|
||||||
# Gettext Catalogs
|
|
||||||
regex/\.g?mo$
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view mo
|
|
||||||
|
|
||||||
# po
|
|
||||||
shell/.po
|
|
||||||
Open=@EXTHELPERSDIR@/misc.sh open po
|
|
||||||
|
|
||||||
# lyx
|
|
||||||
shell/i/.lyx
|
|
||||||
Open=@EXTHELPERSDIR@/misc.sh open lyx
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view lyx
|
|
||||||
|
|
||||||
# torrent
|
|
||||||
shell/i/.torrent
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/misc.sh view torrent
|
|
||||||
|
|
||||||
|
|
||||||
### Plain compressed files ###
|
|
||||||
|
|
||||||
# ace
|
|
||||||
shell/i/.ace
|
|
||||||
Open=%cd %p/uace://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view ace
|
|
||||||
Extract=unace x %f
|
|
||||||
|
|
||||||
# arc
|
|
||||||
shell/i/.arc
|
|
||||||
Open=%cd %p/uarc://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view arc
|
|
||||||
Extract=arc x %f '*'
|
|
||||||
Extract (with flags)=I=%{Enter any Arc flags:}; if test -n "$I"; then arc x $I %f; fi
|
|
||||||
|
|
||||||
# zip
|
|
||||||
shell/i/.zip
|
|
||||||
Open=%cd %p/uzip://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view zip
|
|
||||||
|
|
||||||
# zoo
|
|
||||||
shell/i/.zoo
|
|
||||||
Open=%cd %p/uzoo://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view zoo
|
|
||||||
|
|
||||||
# lz4
|
|
||||||
shell/i/.lz4
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh view lz4 %var{PAGER:more}
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view lz4
|
|
||||||
|
|
||||||
# WIM
|
|
||||||
shell/i/\.wim
|
|
||||||
Open=%cd %p/uwim://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view wim
|
|
||||||
|
|
||||||
# gzip
|
|
||||||
type/\(gzip compressed
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh view gz %var{PAGER:more}
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view gz
|
|
||||||
|
|
||||||
# bzip2
|
|
||||||
type/\(bzip2 compressed
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh view bzip2 %var{PAGER:more}
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view bz2
|
|
||||||
|
|
||||||
# bzip
|
|
||||||
type/\(bzip compressed
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh view bzip %var{PAGER:more}
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view bzip
|
|
||||||
|
|
||||||
# compress
|
|
||||||
type/\(compress'd
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh view gz %var{PAGER:more}
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view gz
|
|
||||||
|
|
||||||
# lz
|
|
||||||
type/\(lzip compressed
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh view lz %var{PAGER:more}
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view lz
|
|
||||||
|
|
||||||
# lzma
|
|
||||||
type/\(LZMA compressed
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh view lzma %var{PAGER:more}
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view lzma
|
|
||||||
|
|
||||||
# xz
|
|
||||||
type/\(XZ compressed
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh view xz %var{PAGER:more}
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view xz
|
|
||||||
|
|
||||||
# zstd
|
|
||||||
type/\(Zstandard compressed
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh view zst %var{PAGER:more}
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view zst
|
|
||||||
|
|
||||||
# zip
|
|
||||||
type/\(Zip archive
|
|
||||||
Open=%cd %p/uzip://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view zip
|
|
||||||
|
|
||||||
# jar(zip)
|
|
||||||
type/i/\(Java\ (Jar\ file|archive)\ data\ \((zip|JAR)\)
|
|
||||||
Open=%cd %p/uzip://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view zip
|
|
||||||
|
|
||||||
# lha
|
|
||||||
type/^LHa\ .*archive
|
|
||||||
Open=%cd %p/ulha://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view lha
|
|
||||||
|
|
||||||
# PAK
|
|
||||||
type/^PAK\ .*archive
|
|
||||||
Open=%cd %p/unar://
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/archive.sh view pak
|
|
||||||
|
|
||||||
# Parity Archive
|
|
||||||
type/^Parity\ Archive\ Volume\ Set
|
|
||||||
Open=@EXTHELPERSDIR@/archive.sh open par2
|
|
||||||
|
|
||||||
|
|
||||||
### Includes
|
|
||||||
# includes should be at end of bindings
|
|
||||||
|
|
||||||
include/editor
|
|
||||||
Open=%var{EDITOR:vi} %f
|
|
||||||
|
|
||||||
include/image
|
|
||||||
Open=@EXTHELPERSDIR@/image.sh open ALL_FORMATS
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/image.sh view ALL_FORMATS
|
|
||||||
|
|
||||||
include/video
|
|
||||||
Open=@EXTHELPERSDIR@/video.sh open ALL_FORMATS
|
|
||||||
View=%view{ascii} @EXTHELPERSDIR@/video.sh view ALL_FORMATS
|
|
||||||
|
|
||||||
|
|
||||||
### Default ###
|
|
||||||
|
|
||||||
# Default target for anything not described above
|
|
||||||
default/*
|
|
||||||
Open=
|
|
||||||
View=
|
|
||||||
|
|
||||||
|
|
||||||
### EOF ###
|
|
1126
misc/mc.ext.ini.in
Normal file
1126
misc/mc.ext.ini.in
Normal file
File diff suppressed because it is too large
Load Diff
@ -91,7 +91,8 @@ typedef char *(*quote_func_t) (const char *name, gboolean quote_percent);
|
|||||||
* With this we avoid loading/parsing the file each time we
|
* With this we avoid loading/parsing the file each time we
|
||||||
* need it
|
* need it
|
||||||
*/
|
*/
|
||||||
static char *data = NULL;
|
static mc_config_t *ext_ini = NULL;
|
||||||
|
static gchar **ext_ini_groups = NULL;
|
||||||
static vfs_path_t *localfilecopy_vpath = NULL;
|
static vfs_path_t *localfilecopy_vpath = NULL;
|
||||||
static char buffer[BUF_1K];
|
static char buffer[BUF_1K];
|
||||||
|
|
||||||
@ -103,6 +104,9 @@ static gboolean is_cd = FALSE;
|
|||||||
static gboolean written_nonspace = FALSE;
|
static gboolean written_nonspace = FALSE;
|
||||||
static gboolean do_local_copy = FALSE;
|
static gboolean do_local_copy = FALSE;
|
||||||
|
|
||||||
|
static const char *descr_group = "mc.ext.ini";
|
||||||
|
static const char *default_group = "Default";
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
/*** file scope functions ************************************************************************/
|
/*** file scope functions ************************************************************************/
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
@ -428,8 +432,6 @@ exec_extension (WPanel * panel, void *target, const vfs_path_t * filename_vpath,
|
|||||||
FILE *cmd_file;
|
FILE *cmd_file;
|
||||||
char *cmd = NULL;
|
char *cmd = NULL;
|
||||||
|
|
||||||
g_return_val_if_fail (lc_data != NULL, NULL);
|
|
||||||
|
|
||||||
pbuffer = NULL;
|
pbuffer = NULL;
|
||||||
localmtime = 0;
|
localmtime = 0;
|
||||||
quote_func = name_quote;
|
quote_func = name_quote;
|
||||||
@ -761,6 +763,22 @@ regex_check_type (const vfs_path_t * filename_vpath, const char *ptr, gboolean c
|
|||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
static void
|
||||||
|
check_old_extension_file (void)
|
||||||
|
{
|
||||||
|
char *extension_old_file;
|
||||||
|
|
||||||
|
extension_old_file = mc_config_get_full_path (MC_EXT_OLD_FILE);
|
||||||
|
if (exist_file (extension_old_file))
|
||||||
|
message (D_ERROR, _("Warning"),
|
||||||
|
_("You have an outdated %s file.\nMidnight Commander now uses %s file.\n"
|
||||||
|
"Please copy your modifications of the old file to the new one."),
|
||||||
|
extension_old_file, MC_EXT_FILE);
|
||||||
|
g_free (extension_old_file);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
load_extension_file (void)
|
load_extension_file (void)
|
||||||
{
|
{
|
||||||
@ -772,6 +790,9 @@ load_extension_file (void)
|
|||||||
if (!exist_file (extension_file))
|
if (!exist_file (extension_file))
|
||||||
{
|
{
|
||||||
g_free (extension_file);
|
g_free (extension_file);
|
||||||
|
|
||||||
|
check_old_extension_file ();
|
||||||
|
|
||||||
check_stock_mc_ext:
|
check_stock_mc_ext:
|
||||||
extension_file = mc_build_filename (mc_global.sysconfig_dir, MC_EXT_FILE, (char *) NULL);
|
extension_file = mc_build_filename (mc_global.sysconfig_dir, MC_EXT_FILE, (char *) NULL);
|
||||||
if (!exist_file (extension_file))
|
if (!exist_file (extension_file))
|
||||||
@ -779,40 +800,41 @@ load_extension_file (void)
|
|||||||
g_free (extension_file);
|
g_free (extension_file);
|
||||||
extension_file =
|
extension_file =
|
||||||
mc_build_filename (mc_global.share_data_dir, MC_EXT_FILE, (char *) NULL);
|
mc_build_filename (mc_global.share_data_dir, MC_EXT_FILE, (char *) NULL);
|
||||||
|
if (!exist_file (extension_file))
|
||||||
|
MC_PTR_FREE (extension_file);
|
||||||
}
|
}
|
||||||
mc_user_ext = FALSE;
|
mc_user_ext = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_file_get_contents (extension_file, &data, NULL, NULL);
|
if (extension_file != NULL)
|
||||||
g_free (extension_file);
|
{
|
||||||
if (data == NULL)
|
ext_ini = mc_config_init (extension_file, TRUE);
|
||||||
|
g_free (extension_file);
|
||||||
|
}
|
||||||
|
if (ext_ini == NULL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (strstr (data, "default/") == NULL)
|
/* Check version */
|
||||||
|
if (!mc_config_has_group (ext_ini, descr_group))
|
||||||
{
|
{
|
||||||
if (strstr (data, "regex/") == NULL && strstr (data, "shell/") == NULL &&
|
flush_extension_file ();
|
||||||
strstr (data, "type/") == NULL)
|
|
||||||
|
if (!mc_user_ext)
|
||||||
{
|
{
|
||||||
MC_PTR_FREE (data);
|
char *title;
|
||||||
|
|
||||||
if (!mc_user_ext)
|
title = g_strdup_printf (_(" %s%s file error"), mc_global.sysconfig_dir, MC_EXT_FILE);
|
||||||
{
|
message (D_ERROR, title,
|
||||||
char *title;
|
_("The format of the %s%s file has changed with version 4.0. "
|
||||||
|
"It seems that the installation has failed. Please fetch a fresh copy "
|
||||||
title =
|
"from the Midnight Commander package."),
|
||||||
g_strdup_printf (_(" %s%s file error"), mc_global.sysconfig_dir, MC_EXT_FILE);
|
mc_global.sysconfig_dir, MC_EXT_FILE);
|
||||||
message (D_ERROR, title,
|
g_free (title);
|
||||||
_("The format of the %s%s file has changed with version 3.0. "
|
return FALSE;
|
||||||
"It seems that the installation failed. Please fetch a fresh copy "
|
|
||||||
"from the Midnight Commander package."),
|
|
||||||
mc_global.sysconfig_dir, MC_EXT_FILE);
|
|
||||||
g_free (title);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
home_error = TRUE;
|
|
||||||
goto check_stock_mc_ext;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
home_error = TRUE;
|
||||||
|
goto check_stock_mc_ext;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (home_error)
|
if (home_error)
|
||||||
@ -822,7 +844,7 @@ load_extension_file (void)
|
|||||||
extension_file = mc_config_get_full_path (MC_EXT_FILE);
|
extension_file = mc_config_get_full_path (MC_EXT_FILE);
|
||||||
title = g_strdup_printf (_("%s file error"), extension_file);
|
title = g_strdup_printf (_("%s file error"), extension_file);
|
||||||
message (D_ERROR, title,
|
message (D_ERROR, title,
|
||||||
_("The format of the %s file has changed with version 3.0. You may either want "
|
_("The format of the %s file has changed with version 4.0. You may either want "
|
||||||
"to copy it from %s%s or use that file as an example of how to write it."),
|
"to copy it from %s%s or use that file as an example of how to write it."),
|
||||||
extension_file, mc_global.sysconfig_dir, MC_EXT_FILE);
|
extension_file, mc_global.sysconfig_dir, MC_EXT_FILE);
|
||||||
g_free (extension_file);
|
g_free (extension_file);
|
||||||
@ -839,7 +861,11 @@ load_extension_file (void)
|
|||||||
void
|
void
|
||||||
flush_extension_file (void)
|
flush_extension_file (void)
|
||||||
{
|
{
|
||||||
MC_PTR_FREE (data);
|
g_strfreev (ext_ini_groups);
|
||||||
|
ext_ini_groups = NULL;
|
||||||
|
|
||||||
|
mc_config_deinit (ext_ini);
|
||||||
|
ext_ini = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
@ -861,19 +887,19 @@ int
|
|||||||
regex_command_for (void *target, const vfs_path_t * filename_vpath, const char *action,
|
regex_command_for (void *target, const vfs_path_t * filename_vpath, const char *action,
|
||||||
vfs_path_t ** script_vpath)
|
vfs_path_t ** script_vpath)
|
||||||
{
|
{
|
||||||
char *p, *q, *r, c;
|
|
||||||
const char *filename;
|
const char *filename;
|
||||||
size_t file_len;
|
size_t filename_len;
|
||||||
gboolean found = FALSE;
|
gboolean found = FALSE;
|
||||||
gboolean error_flag = FALSE;
|
gboolean error_flag = FALSE;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct stat mystat;
|
struct stat mystat;
|
||||||
int view_at_line_number = 0;
|
int view_at_line_number = 0;
|
||||||
char *include_target = NULL;
|
|
||||||
size_t include_target_len = 0;
|
|
||||||
#ifdef USE_FILE_CMD
|
#ifdef USE_FILE_CMD
|
||||||
gboolean have_type = FALSE; /* Flag used by regex_check_type() */
|
gboolean have_type = FALSE; /* Flag used by regex_check_type() */
|
||||||
#endif
|
#endif
|
||||||
|
char **group_iter;
|
||||||
|
char *include_group = NULL;
|
||||||
|
const char *current_group;
|
||||||
|
|
||||||
if (filename_vpath == NULL)
|
if (filename_vpath == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
@ -888,184 +914,170 @@ regex_command_for (void *target, const vfs_path_t * filename_vpath, const char *
|
|||||||
action = "View";
|
action = "View";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data == NULL && !load_extension_file ())
|
if (ext_ini == NULL && !load_extension_file ())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
mc_stat (filename_vpath, &mystat);
|
mc_stat (filename_vpath, &mystat);
|
||||||
|
|
||||||
filename = vfs_path_get_last_path_str (filename_vpath);
|
filename = vfs_path_get_last_path_str (filename_vpath);
|
||||||
filename = x_basename (filename);
|
filename = x_basename (filename);
|
||||||
file_len = strlen (filename);
|
filename_len = strlen (filename);
|
||||||
|
|
||||||
for (p = data; *p != '\0'; p++)
|
if (ext_ini_groups == NULL)
|
||||||
|
ext_ini_groups = mc_config_get_groups (ext_ini, NULL);
|
||||||
|
|
||||||
|
/* find matched type, regex or shell pattern */
|
||||||
|
for (group_iter = ext_ini_groups; *group_iter != NULL && !found; group_iter++)
|
||||||
{
|
{
|
||||||
for (q = p; whitespace (*q); q++)
|
enum
|
||||||
;
|
|
||||||
if (*q == '\n' || *q == '\0')
|
|
||||||
p = q; /* empty line */
|
|
||||||
if (*p == '#') /* comment */
|
|
||||||
while (*p != '\0' && *p != '\n')
|
|
||||||
p++;
|
|
||||||
if (*p == '\n')
|
|
||||||
continue;
|
|
||||||
if (*p == '\0')
|
|
||||||
break;
|
|
||||||
if (p == q)
|
|
||||||
{
|
{
|
||||||
/* i.e. starts in the first column, should be keyword/descNL */
|
TYPE_UNUSED,
|
||||||
gboolean case_insense;
|
TYPE_NOT_FOUND,
|
||||||
|
TYPE_FOUND
|
||||||
|
} type_state = TYPE_UNUSED;
|
||||||
|
|
||||||
found = FALSE;
|
const gchar *g = *group_iter;
|
||||||
q = strchr (p, '\n');
|
gchar *pattern;
|
||||||
if (q == NULL)
|
gboolean ignore_case;
|
||||||
q = strchr (p, '\0');
|
|
||||||
c = *q;
|
|
||||||
*q = '\0';
|
|
||||||
if (include_target != NULL)
|
|
||||||
{
|
|
||||||
if ((strncmp (p, "include/", 8) == 0)
|
|
||||||
&& (strncmp (p + 8, include_target, include_target_len) == 0))
|
|
||||||
found = TRUE;
|
|
||||||
}
|
|
||||||
else if (strncmp (p, "regex/", 6) == 0)
|
|
||||||
{
|
|
||||||
mc_search_t *search;
|
|
||||||
|
|
||||||
p += 6;
|
if (strcmp (g, descr_group) == 0 || strncmp (g, "Include/", 8) == 0
|
||||||
case_insense = (strncmp (p, "i/", 2) == 0);
|
|| strcmp (g, default_group) == 0)
|
||||||
if (case_insense)
|
continue;
|
||||||
p += 2;
|
|
||||||
|
|
||||||
search = mc_search_new (p, DEFAULT_CHARSET);
|
/* The "Directory" parameter is a special case: if it's present then
|
||||||
if (search != NULL)
|
"Type", "Regex", and "Shell" parameters are ignored */
|
||||||
{
|
pattern = mc_config_get_string_raw (ext_ini, g, "Directory", NULL);
|
||||||
search->search_type = MC_SEARCH_T_REGEX;
|
if (pattern != NULL)
|
||||||
search->is_case_sensitive = !case_insense;
|
{
|
||||||
found = mc_search_run (search, filename, 0, file_len, NULL);
|
found = S_ISDIR (mystat.st_mode)
|
||||||
mc_search_free (search);
|
&& mc_search (pattern, DEFAULT_CHARSET, vfs_path_as_str (filename_vpath),
|
||||||
}
|
MC_SEARCH_T_REGEX);
|
||||||
}
|
g_free (pattern);
|
||||||
else if (strncmp (p, "directory/", 10) == 0)
|
|
||||||
{
|
|
||||||
if (S_ISDIR (mystat.st_mode)
|
|
||||||
&& mc_search (p + 10, DEFAULT_CHARSET, vfs_path_as_str (filename_vpath),
|
|
||||||
MC_SEARCH_T_REGEX))
|
|
||||||
found = TRUE;
|
|
||||||
}
|
|
||||||
else if (strncmp (p, "shell/", 6) == 0)
|
|
||||||
{
|
|
||||||
int (*cmp_func) (const char *s1, const char *s2, size_t n) = strncmp;
|
|
||||||
|
|
||||||
p += 6;
|
continue; /* stop if found */
|
||||||
case_insense = (strncmp (p, "i/", 2) == 0);
|
}
|
||||||
if (case_insense)
|
|
||||||
{
|
|
||||||
p += 2;
|
|
||||||
cmp_func = strncasecmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (*p == '.' && file_len >= (size_t) (q - p))
|
|
||||||
{
|
|
||||||
if (cmp_func (p, filename + file_len - (q - p), q - p) == 0)
|
|
||||||
found = TRUE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ((size_t) (q - p) == file_len && cmp_func (p, filename, file_len) == 0)
|
|
||||||
found = TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#ifdef USE_FILE_CMD
|
#ifdef USE_FILE_CMD
|
||||||
else if (use_file_to_check_type && strncmp (p, "type/", 5) == 0)
|
if (use_file_to_check_type)
|
||||||
|
{
|
||||||
|
pattern = mc_config_get_string_raw (ext_ini, g, "Type", NULL);
|
||||||
|
if (pattern != NULL)
|
||||||
{
|
{
|
||||||
GError *mcerror = NULL;
|
GError *mcerror = NULL;
|
||||||
|
|
||||||
p += 5;
|
ignore_case = mc_config_get_bool (ext_ini, g, "TypeIgnoreCase", FALSE);
|
||||||
|
type_state =
|
||||||
|
regex_check_type (filename_vpath, pattern, ignore_case, &have_type, &mcerror)
|
||||||
|
? TYPE_FOUND : TYPE_NOT_FOUND;
|
||||||
|
g_free (pattern);
|
||||||
|
|
||||||
case_insense = (strncmp (p, "i/", 2) == 0);
|
|
||||||
if (case_insense)
|
|
||||||
p += 2;
|
|
||||||
|
|
||||||
found = regex_check_type (filename_vpath, p, case_insense, &have_type, &mcerror);
|
|
||||||
if (mc_error_message (&mcerror, NULL))
|
if (mc_error_message (&mcerror, NULL))
|
||||||
error_flag = TRUE; /* leave it if file cannot be opened */
|
error_flag = TRUE; /* leave it if file cannot be opened */
|
||||||
}
|
|
||||||
#endif /* USE_FILE_CMD */
|
|
||||||
else if (strncmp (p, "default/", 8) == 0)
|
|
||||||
found = TRUE;
|
|
||||||
|
|
||||||
*q = c;
|
if (type_state == TYPE_NOT_FOUND)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* USE_FILE_CMD */
|
||||||
|
|
||||||
|
pattern = mc_config_get_string_raw (ext_ini, g, "Regex", NULL);
|
||||||
|
if (pattern != NULL)
|
||||||
|
{
|
||||||
|
mc_search_t *search;
|
||||||
|
|
||||||
|
ignore_case = mc_config_get_bool (ext_ini, g, "RegexIgnoreCase", FALSE);
|
||||||
|
search = mc_search_new (pattern, DEFAULT_CHARSET);
|
||||||
|
g_free (pattern);
|
||||||
|
|
||||||
|
if (search != NULL)
|
||||||
|
{
|
||||||
|
search->search_type = MC_SEARCH_T_REGEX;
|
||||||
|
search->is_case_sensitive = !ignore_case;
|
||||||
|
found = mc_search_run (search, filename, 0, filename_len, NULL);
|
||||||
|
mc_search_free (search);
|
||||||
|
}
|
||||||
|
|
||||||
|
found = found && (type_state == TYPE_UNUSED || type_state == TYPE_FOUND);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ /* List of actions */
|
{
|
||||||
p = q;
|
pattern = mc_config_get_string_raw (ext_ini, g, "Shell", NULL);
|
||||||
q = strchr (p, '\n');
|
if (pattern != NULL)
|
||||||
if (q == NULL)
|
|
||||||
q = strchr (p, '\0');
|
|
||||||
if (found && !error_flag)
|
|
||||||
{
|
{
|
||||||
r = strchr (p, '=');
|
int (*cmp_func) (const char *s1, const char *s2, size_t n);
|
||||||
if (r != NULL)
|
size_t pattern_len;
|
||||||
{
|
|
||||||
c = *r;
|
|
||||||
*r = '\0';
|
|
||||||
if (strcmp (p, "Include") == 0)
|
|
||||||
{
|
|
||||||
char *t;
|
|
||||||
|
|
||||||
include_target = p + 8;
|
ignore_case = mc_config_get_bool (ext_ini, g, "ShellIgnoreCase", FALSE);
|
||||||
t = strchr (include_target, '\n');
|
cmp_func = ignore_case ? strncasecmp : strncmp;
|
||||||
|
pattern_len = strlen (pattern);
|
||||||
|
|
||||||
if (t != NULL)
|
if (*pattern == '.' && filename_len >= pattern_len)
|
||||||
include_target_len = (size_t) (t - include_target);
|
found =
|
||||||
else
|
cmp_func (pattern, filename + filename_len - pattern_len, pattern_len) == 0;
|
||||||
include_target_len = strlen (include_target);
|
else
|
||||||
|
found = pattern_len == filename_len
|
||||||
|
&& cmp_func (pattern, filename, filename_len) == 0;
|
||||||
|
|
||||||
*r = c;
|
g_free (pattern);
|
||||||
p = q;
|
|
||||||
found = FALSE;
|
|
||||||
|
|
||||||
if (*p == '\0')
|
found = found && (type_state == TYPE_UNUSED || type_state == TYPE_FOUND);
|
||||||
break;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strcmp (action, p) != 0)
|
|
||||||
*r = c;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
*r = c;
|
|
||||||
|
|
||||||
for (p = r + 1; whitespace (*p); p++)
|
|
||||||
;
|
|
||||||
|
|
||||||
/* Empty commands just stop searching
|
|
||||||
* through, they don't do anything
|
|
||||||
*/
|
|
||||||
if (p < q)
|
|
||||||
{
|
|
||||||
vfs_path_t *sv;
|
|
||||||
|
|
||||||
sv = exec_extension (current_panel, target, filename_vpath, r + 1,
|
|
||||||
view_at_line_number);
|
|
||||||
if (script_vpath != NULL)
|
|
||||||
*script_vpath = sv;
|
|
||||||
else
|
|
||||||
exec_cleanup_script (sv);
|
|
||||||
|
|
||||||
ret = 1;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
found = type_state == TYPE_FOUND;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* group is found, process actions */
|
||||||
|
if (found)
|
||||||
|
{
|
||||||
|
char *include_value;
|
||||||
|
|
||||||
|
group_iter--;
|
||||||
|
|
||||||
|
/* "Include" parameter has the highest priority over any actions */
|
||||||
|
include_value = mc_config_get_string_raw (ext_ini, *group_iter, "Include", NULL);
|
||||||
|
if (include_value != NULL)
|
||||||
|
{
|
||||||
|
/* find "Include/include_value" group */
|
||||||
|
include_group = g_strconcat ("Include/", include_value, (char *) NULL);
|
||||||
|
g_free (include_value);
|
||||||
|
found = mc_config_has_group (ext_ini, include_group);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (found)
|
||||||
|
current_group = include_group != NULL ? include_group : *group_iter;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
current_group = default_group;
|
||||||
|
found = mc_config_has_group (ext_ini, current_group);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (found && !error_flag)
|
||||||
|
{
|
||||||
|
gchar *action_value;
|
||||||
|
|
||||||
|
action_value = mc_config_get_string_raw (ext_ini, current_group, action, NULL);
|
||||||
|
/* Empty commands just stop searching through, they don't do anything */
|
||||||
|
if (action_value != NULL && *action_value != '\0')
|
||||||
|
{
|
||||||
|
vfs_path_t *sv;
|
||||||
|
|
||||||
|
sv = exec_extension (current_panel, target, filename_vpath, action_value,
|
||||||
|
view_at_line_number);
|
||||||
|
if (script_vpath != NULL)
|
||||||
|
*script_vpath = sv;
|
||||||
|
else
|
||||||
|
exec_cleanup_script (sv);
|
||||||
|
|
||||||
|
ret = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
p = q;
|
g_free (action_value);
|
||||||
if (*p == '\0')
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_free (include_group);
|
||||||
|
|
||||||
return (error_flag ? -1 : ret);
|
return (error_flag ? -1 : ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user