...to prevent leaving wal/shm files after viewing sqlite database.
The problem I often had with viewing .sqlite files with mc is that
exiting the view mode mid-way may leave .wal/.shm files in the database
directory.
This never caused any actual issues, but a bit annoying, since leftover
.wal files are often a sign that the program working with the database
exited ungracefully.
This effectively reproduces mc's behaviour:
/tmp/testsqlite $ rm -f *-wal *-shm && sqlite3 "/tmp/testsqlite/db file.sqlite" .dump | head >/dev/null && ls -1 /tmp/testsqlite/
'db file.sqlite'
'db file.sqlite-shm'
'db file.sqlite-wal'
After the change -- no shm/wal files
/tmp/testsqlite $ rm -f *-wal *-shm && sqlite3 "file:/tmp/testsqlite/db file.sqlite?immutable=1" .dump | head >/dev/null && ls -1 /tmp/testsqlite/
'db file.sqlite'
You can find the docs on immutable mode here:
https://www.sqlite.org/uri.html#uriimmutable
Immutable mode has been supported in sqlite since 2014:
https://www.sqlite.org/changes.html#version_3_8_5
In case user's sqlite installation is older, the mode is just quietly
ignored, so the change is backwards compatible.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
DOT is a graph description language, described at
<https://graphviz.org/doc/info/lang.html>. The new syntax file
recognizes the basic language keywords and syntax; known node,
edge, graph, etc. properties; comments; character strings.
The syntax file seems to work well with various DOT files found
in the Linux kernel sources as well as with the MNT Reform 2.0D-4
System Diagram.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Since .endc was defined both as the context end delimiter and a context
keyword, it was not recognized as the former and the control script
context, once started, would never be finished. This issue can be
noticed, for example, in wrong syntax highlighting of the .end command
if it was preceded by a control script.
Fix the issue by making the control script context exclusive and
highlighting the .control and .endc keywords in the default context
instead.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Add basic support for highlighting Ngspice/SPICE (http://ngspice.sourceforge.net/)
circuit description files syntax. Two main contexts are defined:
- the default context, where the circuit is described,
- the control script context (between .control and .endc).
The default context highlights dot commands, circuit element instance
names and model types. The control script context highlights supported
functions/commands and known variables. Both contexts highlight comments
and line continuation marks.
Other than two FIXMEs, it is a known issue the first line of the file is
part of the default context, while in most cases it would contain the
file title.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
...on systems that have no /bin/cat (like NixOS).
When opening .diff or .patch files mcview invokes /bin/cat. NixOS has no
/bin/cat (the path to cat looks like /run/current-system/sw/bin/cat).
However cat is still in PATH, so replace /bin/cat with just cat. This
should not affect other systems as /bin should normally be in PATH.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The mc's built-in samba library which is used to access data across
smb links is taken from an old samba version.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fixed:
- use of "grey" instead of "gray" (same for "lightgray");
- use of space in keywords;
- typos.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Support various versions of file utility which output is changed from
one version to another:
$ file --version
file-4.26
magic file from /etc/magic:/usr/share/file/magic
$ file mc.1
mc.1: ASCII troff or preprocessor input text
$ file -z -L mc.1.gz
mc.1.gz: ASCII troff or preprocessor input text (gzip compressed data, was "mc.1", last modified: Tue Aug 24 08:17:47 2021, from Unix)
$ file --version
file-5.40
magic file from /etc/file/magic
eccomp support included
$ file mc.1
mc.1: troff or preprocessor input, ASCII text
$ file -z -L -S mc.1.gz
mc.1.gz: troff or preprocessor input, ASCII text (gzip compressed data, was "mc.1", last modified: Wed Aug 18 04:41:29 2021, from Unix)
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Fix mc.ext breakage caused by c3848a689c.
While reorganizing /etc/mc/mc.ext, the order of rules was changed in the file,
causing a bug where more general matches (e. g. any gzipped file) are made
before more specific ones (e. g. a gzip-compressed manpage).
Fix this by reverting to the original order of rules.
Signed-off-by: Tomas Szepe <szepe@pinerecords.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Use an empty patter (^$) that doesn't match any file name. In this
case, only the shebang is used to detect syntax highlighting rules for
OpenRC scripts.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
$ file -L image.zip
image.zip: Zip archive data, at least v2.0 to extract
$ file -L -z image.zip
image.zip: JPEG image data, JFIF standard 1.01, resolution (DPI),
density 96x96, segment length 16, baseline, precision 8, 1024x768,
frames 3 (Zip archive data, at least v2.0 to extract)
Since in mc.ext
type/^JPEG
is evaluated before
type/\(Zip archive
mc assume image.zip is a image not an archive.
To solve this, since we use "file -z", match file name at first
(regex/ and shell/), then type/.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
mc.ext: add fb2 support.
ext.f/doc.sh.in: change key name for e-books.
Thanks korrado <anyhow2@mail.ru> for the issue.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
After 8857423e4e due to
using "file -z", zip archves w/o ".zip" file name extension
(i.e. "ff_ext.xpi", a Firefox extension) aren't handled
as zip archives.
misc/mc.ext.in: fix regular expression for zip format.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Whitespaces (i.e. tabs and trailing spaces) are not consistent with
other parts of skin, they're bright on blue. Makes them green on black
background.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
'alacritty', 'tmux' and 'tmux-256color' all implement Shift+F<N> keys
in an xterm-compatible way. Without this change Shift+F<N> are handled
as F<N-2> key presses.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
call 'file' with -z switch to enable getting the type of compressed files,
and use that capability extensively.
the /logs?/ hacks in ext.d/text.sh need to remain for the time being, as
file -z doesn't handle .lz4 files as encapsulated content.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
match the special cases first, and match makefiles irrespective of
extension. that is useful, as hand-written make-based build systems
often use qualifying suffixes, like .unix.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
add plenty of missing 'which' commands in ext.d.
the construct 'if <command>' to check the presence of a command would
work in some cases (though inefficiently), but it others it was just
bogus. in every case it was inconsistent and confusing.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
After ef5f1fa3eb ctrl-i stopped working
on some terminals including native Linux console.
To fix this, add default binging ctrl-i shortcut to ChangePanel action.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Add the .ino extension to the list of extensions recognized by the c++
syntax highlighter.
.ino is used by the Arduino IDE, and a number of other IDEs, and it's effectively
the same thing as a c++ source file, but with some added magic, such as auto-generated
function prototypes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
RealPlayer is a proprietary application which can't be installed in most
distros and has long been abandoned.
gtv hasn't been developed since 2003.
xanim barely plays anything.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Revert "Ticket #3981: sh.syntax: allow for indented 'function' highlighting."
This reverts commit 91d6d55baf.
The syntax highlighting of shell scripts in mcedit misbehaves around
matches of "function blabla()" inside literal quotes. It applies syntax
highlighting as if it was function definition in normal conditions (out
of literal quotes), breaking the colouring of whatever follows.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Keywords attribute, endattribute, strength are not a reserved keywords in any
verilog standard. I can find a few references to these saying that they
were reserved keywords in OVI LRM version 2.0 (a version of verilog
before it was standardized), but this LRM is not available. The OVI LRM
version 1.0 didn't include these keywords, and none of the IEEE standards
include these keywords. I also tried the syntax highlighter of two
commercial tools, and they don't show attribute/endattribute as keywords.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Before the change mc.lib was installed twice due to being
in two _DATA variables:
dist_pkgdata_DATA = \
mc.lib
pkgdata_DATA = \
$(dist_pkgdata_DATA) \
$(PKGDATA_OUT)
This causes occasional install failures when two parallel
`/usr/bin/install` calls race in installing the file:
$ make -j20 DESTDIR=/var/tmp/portage/app-misc/mc-4.8.24/image install
...
/usr/lib/portage/python3.6/ebuild-helpers/xattr/install \
-c -m 644 mc.lib '/var/tmp/portage/app-misc/mc-4.8.24/image/usr/share/mc'
/usr/lib/portage/python3.6/ebuild-helpers/xattr/install \
-c -m 644 mc.lib mc.charsets '/var/tmp/portage/app-misc/mc-4.8.24/image/usr/share/mc'
...
/usr/bin/install: cannot create regular file
'/var/tmp/portage/app-misc/mc-4.8.24/image/usr/share/mc/mc.lib': File exists
After the change mc.lib is present only in dist_pkgdata_DATA.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
The following patch adds support for opus audio files.
The executable opusinfo is part of opus-tools package.
Xmms and play are able to play opus files.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
In PHP strings delimited with single quotes, there are two characters
that can be escaped: \ and '. For example, the PHP string 'a\'b\\c\d'
could be printed as ‘a'b\c\d’.
Escaping quotes was already possible with the PHP syntax file. This
commit adds support for escaping backslashes. It fixes mcedit’s syntax
highlighting on PHP strings that end with \\ (like 'aaa\\').
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Add scriptlets %pretrans, %posttrans and %verifyscript to the RPM spec file syntax.
Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
[temp]: part (partial files, e.g. used by many download managers)
[archive]: apk (android packages), deb (debian packages)
[media]: ts (MPEG-TS streams)
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
autogen.sh generates a bunch of files aren't .gitignore'd yet.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Based on patch by Filip Sefrna <fsefrna@gmail.com>
added action 'EditorHistory' for call history dialog.
Signed-off-by: Ilia Maslakov <il.smind@gmail.com>
- Group commands coming from eclasses
- Add common Makefile variables
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This will allow for the following:
if want_foo; then
function foobar() {
echo "foo"
}
else
function foobar() {
echo "bar"
}
fi
foobar
Signed-off-by: TerraTech <1118433+TerraTech@users.noreply.github.com>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>