summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Chaine <martin@casimir.me>2016-12-06 14:40:14 +0100
committerMartin Chaine <martin@casimir.me>2016-12-06 17:48:46 +0100
commit7384288e079c7c7dfc24f94c2189e2e075f7dcdf (patch)
tree6549d15fb5c129298718bf358c194a7e4b9f8e63
parentb3ac733f332a753be2fc575328d38017f31d0a00 (diff)
transform mimetype to a fallback option
The option is now used as a fallback when detection by extension fails. Some scripts like `base/mail.kak` and `base/html.kak` still rely heavily on it.
-rw-r--r--rc/base/clojure.kak4
-rw-r--r--rc/base/css.kak4
-rw-r--r--rc/base/d.kak1
-rw-r--r--rc/base/file.kak13
-rw-r--r--rc/base/fish.kak4
-rw-r--r--rc/base/go.kak1
-rw-r--r--rc/base/haskell.kak4
-rw-r--r--rc/base/java.kak4
-rw-r--r--rc/base/javascript.kak4
-rw-r--r--rc/base/json.kak4
-rw-r--r--rc/base/lisp.kak4
-rw-r--r--rc/base/lua.kak4
-rw-r--r--rc/base/markdown.kak4
-rw-r--r--rc/base/mime.kak5
-rw-r--r--rc/base/perl.kak4
-rw-r--r--rc/base/ruby.kak4
-rw-r--r--rc/base/rust.kak5
-rw-r--r--rc/base/scala.kak4
-rw-r--r--rc/base/yaml.kak4
-rw-r--r--rc/core/c-family.kak20
-rw-r--r--rc/core/makefile.kak4
-rw-r--r--rc/core/python.kak4
-rw-r--r--rc/core/sh.kak4
-rw-r--r--rc/extra/cabal.kak4
-rw-r--r--rc/extra/coffee.kak4
-rw-r--r--rc/extra/cucumber.kak4
-rw-r--r--rc/extra/haml.kak4
-rw-r--r--rc/extra/latex.kak4
-rw-r--r--rc/extra/modeline.kak1
-rw-r--r--rc/extra/moon.kak6
-rw-r--r--rc/extra/pug.kak4
-rw-r--r--rc/extra/ragel.kak4
-rw-r--r--rc/extra/sass.kak4
-rw-r--r--rc/extra/scss.kak4
-rw-r--r--rc/extra/taskpaper.kak1
-rw-r--r--rc/extra/tupfile.kak1
36 files changed, 18 insertions, 140 deletions
diff --git a/rc/base/clojure.kak b/rc/base/clojure.kak
index 1336bd41..194a2815 100644
--- a/rc/base/clojure.kak
+++ b/rc/base/clojure.kak
@@ -6,10 +6,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-clojure %{
- set buffer filetype clojure
-}
-
hook global BufCreate .*[.](cljs?) %{
set buffer filetype clojure
}
diff --git a/rc/base/css.kak b/rc/base/css.kak
index 06c483aa..27a58712 100644
--- a/rc/base/css.kak
+++ b/rc/base/css.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-css %{
- set buffer filetype css
-}
-
hook global BufCreate .*[.](css) %{
set buffer filetype css
}
diff --git a/rc/base/d.kak b/rc/base/d.kak
index d5ab7df9..3344572b 100644
--- a/rc/base/d.kak
+++ b/rc/base/d.kak
@@ -5,7 +5,6 @@
# ‾‾‾‾‾‾‾‾‾
hook global BufCreate .*\.di? %{
- set buffer mimetype ""
set buffer filetype d
}
diff --git a/rc/base/file.kak b/rc/base/file.kak
new file mode 100644
index 00000000..0aef21ec
--- /dev/null
+++ b/rc/base/file.kak
@@ -0,0 +1,13 @@
+decl str mimetype
+
+hook global BufOpen .* %{ %sh{
+ if [ -z "${kak_opt_filetype}" ]; then
+ mime=$(file -b --mime-type "${kak_buffile}")
+ printf %s\\n "${mime}" | grep -q '^text/x-'
+ if [ $? -eq 0 ]; then
+ printf "set buffer filetype '%s'\n" "${mime:7}"
+ else
+ printf "set buffer mimetype '%s'\n" "${mime}"
+ fi
+ fi
+} }
diff --git a/rc/base/fish.kak b/rc/base/fish.kak
index 81c1dabc..6bb4a5f5 100644
--- a/rc/base/fish.kak
+++ b/rc/base/fish.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-fish %{
- set buffer filetype fish
-}
-
hook global BufCreate .*[.](fish) %{
set buffer filetype fish
}
diff --git a/rc/base/go.kak b/rc/base/go.kak
index b925576a..0b0be61b 100644
--- a/rc/base/go.kak
+++ b/rc/base/go.kak
@@ -5,7 +5,6 @@
# ‾‾‾‾‾‾‾‾‾
hook global BufCreate .*\.go %{
- set buffer mimetype ""
set buffer filetype go
}
diff --git a/rc/base/haskell.kak b/rc/base/haskell.kak
index 823c4be0..bb5fb5c1 100644
--- a/rc/base/haskell.kak
+++ b/rc/base/haskell.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-haskell %{
- set buffer filetype haskell
-}
-
hook global BufCreate .*[.](hs) %{
set buffer filetype haskell
}
diff --git a/rc/base/java.kak b/rc/base/java.kak
index 606f0318..1ccc82fc 100644
--- a/rc/base/java.kak
+++ b/rc/base/java.kak
@@ -2,10 +2,6 @@ hook global BufCreate .*\.java %{
set buffer filetype java
}
-hook global BufSetOption mimetype=text/java %{
- set buffer filetype java
-}
-
addhl -group / regions -default code java \
string %{(?<!')"} %{(?<!\\)(\\\\)*"} '' \
comment /\* \*/ '' \
diff --git a/rc/base/javascript.kak b/rc/base/javascript.kak
index 0dfe4334..0ea31df7 100644
--- a/rc/base/javascript.kak
+++ b/rc/base/javascript.kak
@@ -1,10 +1,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-javascript %{
- set buffer filetype javascript
-}
-
hook global BufCreate .*[.](js) %{
set buffer filetype javascript
}
diff --git a/rc/base/json.kak b/rc/base/json.kak
index 3369d9f9..b92d118b 100644
--- a/rc/base/json.kak
+++ b/rc/base/json.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-json %{
- set buffer filetype json
-}
-
hook global BufCreate .*[.](json) %{
set buffer filetype json
}
diff --git a/rc/base/lisp.kak b/rc/base/lisp.kak
index 9c65d950..5b931ab6 100644
--- a/rc/base/lisp.kak
+++ b/rc/base/lisp.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-lisp %{
- set buffer filetype lisp
-}
-
hook global BufCreate .*[.](lisp) %{
set buffer filetype lisp
}
diff --git a/rc/base/lua.kak b/rc/base/lua.kak
index b23c92e3..2f5ba4ee 100644
--- a/rc/base/lua.kak
+++ b/rc/base/lua.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-lua %{
- set buffer filetype lua
-}
-
hook global BufCreate .*[.](lua) %{
set buffer filetype lua
}
diff --git a/rc/base/markdown.kak b/rc/base/markdown.kak
index 04a31639..3d8814ad 100644
--- a/rc/base/markdown.kak
+++ b/rc/base/markdown.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-markdown %{
- set buffer filetype markdown
-}
-
hook global BufCreate .*[.](markdown|md|mkd) %{
set buffer filetype markdown
}
diff --git a/rc/base/mime.kak b/rc/base/mime.kak
deleted file mode 100644
index c0273f58..00000000
--- a/rc/base/mime.kak
+++ /dev/null
@@ -1,5 +0,0 @@
-decl str mimetype "text/plain"
-
-hook global BufOpen .* %{
- set buffer mimetype %sh{file -b --mime-type "${kak_buffile}" }
-}
diff --git a/rc/base/perl.kak b/rc/base/perl.kak
index d4c30695..d025ca6d 100644
--- a/rc/base/perl.kak
+++ b/rc/base/perl.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-perl %{
- set buffer filetype perl
-}
-
hook global BufCreate .*\.pl %{
set buffer filetype perl
}
diff --git a/rc/base/ruby.kak b/rc/base/ruby.kak
index 185db608..42af2fd7 100644
--- a/rc/base/ruby.kak
+++ b/rc/base/ruby.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-ruby %{
- set buffer filetype ruby
-}
-
hook global BufCreate .*(([.](rb))|(irbrc)|(pryrc)|(Capfile|[.]cap)|(Gemfile)|(Guardfile)|(Rakefile|[.]rake)|(Thorfile|[.]thor)|(Vagrantfile)) %{
set buffer filetype ruby
}
diff --git a/rc/base/rust.kak b/rc/base/rust.kak
index da5bc1c7..774b5214 100644
--- a/rc/base/rust.kak
+++ b/rc/base/rust.kak
@@ -4,13 +4,8 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-rust %{
- set buffer filetype rust
-}
-
hook global BufCreate .*[.](rust|rs) %{
set buffer filetype rust
- set buffer mimetype ''
}
# Highlighters
diff --git a/rc/base/scala.kak b/rc/base/scala.kak
index f92251ae..869fc3ec 100644
--- a/rc/base/scala.kak
+++ b/rc/base/scala.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-scala %{
- set buffer filetype scala
-}
-
hook global BufCreate .*[.](scala) %{
set buffer filetype scala
}
diff --git a/rc/base/yaml.kak b/rc/base/yaml.kak
index 57125c03..ddf5d7bc 100644
--- a/rc/base/yaml.kak
+++ b/rc/base/yaml.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-yaml %{
- set buffer filetype yaml
-}
-
hook global BufCreate .*[.](yaml) %{
set buffer filetype yaml
}
diff --git a/rc/core/c-family.kak b/rc/core/c-family.kak
index 63d1ee19..34b0faec 100644
--- a/rc/core/c-family.kak
+++ b/rc/core/c-family.kak
@@ -1,11 +1,13 @@
hook global BufCreate .*\.(cc|cpp|cxx|C|hh|hpp|hxx|H)$ %{
set buffer filetype cpp
- set buffer mimetype ''
+}
+
+hook global BufSetOption filetype=c\+\+ %{
+ set buffer filetype cpp
}
hook global BufCreate .*\.c$ %{
set buffer filetype c
- set buffer mimetype ''
}
hook global BufCreate .*\.h$ %{
@@ -15,24 +17,10 @@ hook global BufCreate .*\.h$ %{
} catch %{
set buffer filetype c
}
- set buffer mimetype ''
-}
-
-hook global BufSetOption mimetype=text/x-c %{
- set buffer filetype c
-}
-
-hook global BufSetOption mimetype=text/x-c\+\+ %{
- set buffer filetype cpp
}
hook global BufCreate .*\.m %{
set buffer filetype objc
- set buffer mimetype ''
-}
-
-hook global BufSetOption mimetype=text/x-objc %{
- set buffer filetype objc
}
def -hidden _c-family-trim-autoindent %[ eval -draft -itersel %[
diff --git a/rc/core/makefile.kak b/rc/core/makefile.kak
index 7b06eef7..04f98fd6 100644
--- a/rc/core/makefile.kak
+++ b/rc/core/makefile.kak
@@ -1,10 +1,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-makefile %{
- set buffer filetype makefile
-}
-
hook global BufCreate .*/?[mM]akefile %{
set buffer filetype makefile
}
diff --git a/rc/core/python.kak b/rc/core/python.kak
index 7bca05b7..fc09beaa 100644
--- a/rc/core/python.kak
+++ b/rc/core/python.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-python %{
- set buffer filetype python
-}
-
hook global BufCreate .*[.](py) %{
set buffer filetype python
}
diff --git a/rc/core/sh.kak b/rc/core/sh.kak
index a2bc73a5..07e3321a 100644
--- a/rc/core/sh.kak
+++ b/rc/core/sh.kak
@@ -2,10 +2,6 @@ hook global BufCreate .*\.(z|ba|c|k)?sh(rc|_profile)? %{
set buffer filetype sh
}
-hook global BufSetOption mimetype=text/x-shellscript %{
- set buffer filetype sh
-}
-
addhl -group / regions -default code sh \
double_string %{(?<!\\)(\\\\)*\K"} %{(?<!\\)(\\\\)*"} '' \
single_string %{(?<!\\)(\\\\)*\K'} %{'} '' \
diff --git a/rc/extra/cabal.kak b/rc/extra/cabal.kak
index 812c8212..453355e4 100644
--- a/rc/extra/cabal.kak
+++ b/rc/extra/cabal.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-cabal %{
- set buffer filetype cabal
-}
-
hook global BufCreate .*[.](cabal) %{
set buffer filetype cabal
}
diff --git a/rc/extra/coffee.kak b/rc/extra/coffee.kak
index 3090e365..e3541cbf 100644
--- a/rc/extra/coffee.kak
+++ b/rc/extra/coffee.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-coffee %{
- set buffer filetype coffee
-}
-
hook global BufCreate .*[.](coffee) %{
set buffer filetype coffee
}
diff --git a/rc/extra/cucumber.kak b/rc/extra/cucumber.kak
index ad9c5c68..de69ebaa 100644
--- a/rc/extra/cucumber.kak
+++ b/rc/extra/cucumber.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-cucumber %{
- set buffer filetype cucumber
-}
-
hook global BufCreate .*[.](feature|story) %{
set buffer filetype cucumber
}
diff --git a/rc/extra/haml.kak b/rc/extra/haml.kak
index 8191803e..a6531989 100644
--- a/rc/extra/haml.kak
+++ b/rc/extra/haml.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-haml %{
- set buffer filetype haml
-}
-
hook global BufCreate .*[.](haml) %{
set buffer filetype haml
}
diff --git a/rc/extra/latex.kak b/rc/extra/latex.kak
index 5159740b..303ea9c5 100644
--- a/rc/extra/latex.kak
+++ b/rc/extra/latex.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-tex %{
- set buffer filetype latex
-}
-
hook global BufCreate .*\.tex %{
set buffer filetype latex
}
diff --git a/rc/extra/modeline.kak b/rc/extra/modeline.kak
index 962b3f41..4e9e5466 100644
--- a/rc/extra/modeline.kak
+++ b/rc/extra/modeline.kak
@@ -52,7 +52,6 @@ def -hidden _modeline-parse %{
autowrap_column
eolformat
filetype
- mimetype
BOM
)
diff --git a/rc/extra/moon.kak b/rc/extra/moon.kak
index e5f790f3..9439a0de 100644
--- a/rc/extra/moon.kak
+++ b/rc/extra/moon.kak
@@ -4,12 +4,8 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-moon %{
- set buffer filetype moon
-}
-
hook global BufCreate .*[.](moon) %{
- set buffer mimetype text/x-moon
+ set buffer filetype moon
}
# Highlighters
diff --git a/rc/extra/pug.kak b/rc/extra/pug.kak
index c8fd5d7a..d1a37f5f 100644
--- a/rc/extra/pug.kak
+++ b/rc/extra/pug.kak
@@ -8,10 +8,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-pug %{
- set buffer filetype pug
-}
-
hook global BufCreate .*[.](pug|jade) %{
set buffer filetype pug
}
diff --git a/rc/extra/ragel.kak b/rc/extra/ragel.kak
index b5411e92..cc934c64 100644
--- a/rc/extra/ragel.kak
+++ b/rc/extra/ragel.kak
@@ -6,10 +6,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-ragel %{
- set buffer filetype ragel
-}
-
hook global BufCreate .*[.](ragel|rl) %{
set buffer filetype ragel
}
diff --git a/rc/extra/sass.kak b/rc/extra/sass.kak
index 982928a6..9c0cef76 100644
--- a/rc/extra/sass.kak
+++ b/rc/extra/sass.kak
@@ -4,10 +4,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-sass %{
- set buffer filetype sass
-}
-
hook global BufCreate .*[.](sass) %{
set buffer filetype sass
}
diff --git a/rc/extra/scss.kak b/rc/extra/scss.kak
index c9be1c52..d09a86da 100644
--- a/rc/extra/scss.kak
+++ b/rc/extra/scss.kak
@@ -6,10 +6,6 @@
# Detection
# ‾‾‾‾‾‾‾‾‾
-hook global BufSetOption mimetype=text/x-scss %{
- set buffer filetype scss
-}
-
hook global BufCreate .*[.](scss) %{
set buffer filetype scss
}
diff --git a/rc/extra/taskpaper.kak b/rc/extra/taskpaper.kak
index 5a366d3d..ec71ef7b 100644
--- a/rc/extra/taskpaper.kak
+++ b/rc/extra/taskpaper.kak
@@ -5,7 +5,6 @@
# ‾‾‾‾‾‾‾‾‾
hook global BufCreate .*\.taskpaper %{
- set buffer mimetype ""
set buffer filetype taskpaper
}
diff --git a/rc/extra/tupfile.kak b/rc/extra/tupfile.kak
index 438d6b54..c412afbe 100644
--- a/rc/extra/tupfile.kak
+++ b/rc/extra/tupfile.kak
@@ -5,7 +5,6 @@
# ‾‾‾‾‾‾‾‾‾
hook global BufCreate (.+/)?[Tt]upfile %{
- set buffer mimetype ""
set buffer filetype tupfile
}