about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-12-11 19:55:17 +0100
committerbptato <nincsnevem662@gmail.com>2024-12-11 19:59:37 +0100
commit3d7bbdf6707f93f497525e91921dbdc45a26212b (patch)
treecdea46403987d58b74c704a9450ea637044f1779 /src
parentd4c40ab5c1c1fe2df49f54d61632c1c979e63514 (diff)
downloadchawan-3d7bbdf6707f93f497525e91921dbdc45a26212b.tar.gz
pager: do not prompt for text types
we hadn't before, and it's annoying when using cha as a pager
Diffstat (limited to 'src')
-rw-r--r--src/config/mimetypes.nim3
-rw-r--r--src/local/pager.nim8
2 files changed, 10 insertions, 1 deletions
diff --git a/src/config/mimetypes.nim b/src/config/mimetypes.nim
index e2aeb901..811f9776 100644
--- a/src/config/mimetypes.nim
+++ b/src/config/mimetypes.nim
@@ -76,3 +76,6 @@ const JavaScriptTypes = [
 
 func isJavaScriptType*(s: string): bool =
   return JavaScriptTypes.binarySearch(s) != -1
+
+func isTextType*(s: string): bool =
+  return s.startsWithIgnoreCase("text/") or s.isJavaScriptType()
diff --git a/src/local/pager.nim b/src/local/pager.nim
index c6059fdb..db2057da 100644
--- a/src/local/pager.nim
+++ b/src/local/pager.nim
@@ -2763,7 +2763,13 @@ proc connected(pager: Pager; container: Container; response: Response) =
     else:
       let i = pager.config.external.mailcap.findMailcapEntry(contentType, "",
         container.url)
-      pager.askMailcap(container, istream, contentType, i, response, 0)
+      if i == -1 and container.contentType.get.isTextType():
+        pager.connected2(container, MailcapResult(
+          flags: {cmfConnect, cmfFound},
+          ostream: istream
+        ), response)
+      else:
+        pager.askMailcap(container, istream, contentType, i, response, 0)
 
 proc unregisterFd(pager: Pager; fd: int) =
   pager.pollData.unregister(fd)