about summary refs log tree commit diff
path: root/src/lib/XMonad/Custom/Prompt.hs
diff options
context:
space:
mode:
authorAzat Bahawi <azahi@teknik.io>2021-11-23 03:19:06 +0300
committerAzat Bahawi <azahi@teknik.io>2021-11-23 03:19:06 +0300
commit729e030dd25da2e36fa5a1312b8ecb3415dc1675 (patch)
tree53166b6c3bd96f860d0a7242353ef9cc7bb1790f /src/lib/XMonad/Custom/Prompt.hs
parentRemove tests (diff)
Huge update
Diffstat (limited to 'src/lib/XMonad/Custom/Prompt.hs')
-rw-r--r--src/lib/XMonad/Custom/Prompt.hs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/lib/XMonad/Custom/Prompt.hs b/src/lib/XMonad/Custom/Prompt.hs
new file mode 100644
index 0000000..c54a00f
--- /dev/null
+++ b/src/lib/XMonad/Custom/Prompt.hs
@@ -0,0 +1,28 @@
+-- |
+-- Module                  : XMonad.Custom.Prompt
+-- Description             : Prompt configuration
+-- Copyright               : (c) Azat Bahawi 2018-2021
+-- SPDX-License-Identifier : GPL-3.0-or-later
+-- Maintainer              : azahi@teknik.io
+-- Stability               : experimental
+-- Portability             : non-portable
+--
+
+module XMonad.Custom.Prompt
+  ( listCompFunc
+  , aListCompFunc
+  , predicateFunction
+  ) where
+
+import           Data.Char
+import           Data.List                      ( isInfixOf )
+import           XMonad.Prompt
+
+listCompFunc :: XPConfig -> [String] -> String -> IO [String]
+listCompFunc c xs s = return (filter (searchPredicate c s) xs)
+
+aListCompFunc :: XPConfig -> [(String, a)] -> String -> IO [String]
+aListCompFunc c xs = listCompFunc c (map fst xs)
+
+predicateFunction :: String -> String -> Bool
+predicateFunction x y = lc x `isInfixOf` lc y where lc = map toLower

Consider giving Nix/NixOS a try! <3