Files
iris-context/integration/icons.go
VERSE dd1fb156fc feat(history): atuin history support (#134)
closes #91

3 mode config atuin history
```toml
[core]
# 0 = off, 1 = atuin history only, 2 = atuin history + default history
atuin-history = 0
```
Default is Mode 0 (turn off), who uses atuin history has to config it
manually

Mode 1 = atuin only (as you can see only 11 commands):
<img width="1285" height="466" alt="image"
src="https://github.com/user-attachments/assets/ca520ec7-fb45-4403-8087-a4951ba8dba0"
/>

Mode 2 = combine shell history + atuin history (prefer atuin):
<img width="1261" height="469" alt="image"
src="https://github.com/user-attachments/assets/1558ad3e-38f3-4d6e-bc8e-cfc00ea9cb4b"
/>

Mode 0 = turn off atuin

---
Custom atuin db path if anyone's using their own path (leave empty to
use default from atuin)
```toml
atuin-db-path = ""
```

---

I also handled the search menu overlay of Atuin, IRIS won't show in this
mode, but you have to change the keybind between 2 tool cuz they're
using same keybind Ctrl + R, but I think using IRIS make it unnecessary
to use Atuin search mode (82b180c9610f75d41008a54dfde474c7f2cce015)


<img width="70%" alt="image"
src="https://github.com/user-attachments/assets/e0c62050-7e6e-4e37-a1cc-2bfb63e1e984"
/>

<i><b>Before (Menu layout completely broken)</b></i>

<img width="50%" alt="image"
src="https://github.com/user-attachments/assets/1e6d8de9-cde8-473d-8a42-4748c480c812"
/>

<i ><b>After handling (not shows anymore)</b></i>
2026-08-09 21:08:11 +07:00

141 lines
3.5 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package integration
import "strings"
var iconMap = map[string]string{
"git": "󰊢",
"gh": "",
"docker": "",
"docker-compose": "",
"podman": "󰡨",
"go": "",
"golang": "",
"python": "",
"python3": "",
"pip": "",
"pip3": "",
"pipx": "",
"conda": "󰜗",
"node": "",
"npm": "",
"npx": "",
"pnpm": "",
"pnpx": "",
"bun": "",
"bunx": "",
"yarn": "",
"deno": "",
"rust": "",
"cargo": "",
"rustup": "",
"rustc": "",
"java": "",
"javac": "",
"kotlin": "",
"mvn": "",
"gradle": "",
"ruby": "",
"gem": "",
"rails": "",
"php": "",
"composer": "",
"lua": "",
"nvim": "",
"vim": "",
"vi": "",
"nano": "󰔷",
"emacs": "",
"code": "󰨞",
"subl": "",
"cd": "",
"ls": "",
"eza": "",
"exa": "",
"lsd": "",
"tree": "",
"pwd": "",
"cat": "",
"bat": "",
"less": "",
"more": "",
"head": "",
"tail": "",
"grep": "",
"rg": "",
"ripgrep": "",
"find": "",
"fd": "",
"ssh": "󰣀",
"scp": "󰣀",
"sftp": "󰣀",
"rsync": "󰣀",
"kubectl": "󱃾",
"helm": "󱃾",
"k9s": "󱃾",
"minikube": "󱃾",
"terraform": "󱁢",
"ansible": "󰂯",
"aws": "󰸏",
"gcloud": "󱇶",
"tmux": "󰓓",
"screen": "󰓓",
"curl": "󰌗",
"wget": "󰌗",
"nginx": "󰟀",
"mysql": "",
"psql": "",
"mongosh": "󱀝",
"redis-cli": "󰆧",
"sqlite3": "",
"firebase": "󰐠",
"supabase": "󰙦",
"vercel": "▲",
"netlify": "󰚊",
"hugo": "󰁆",
"next": "▲",
"vite": "󱋡",
"webpack": "󰜫",
"eslint": "󰱺",
"prettier": "󰬗",
"jest": "󰗚",
"pytest": "",
"make": "󰷈",
"cmake": "󰷈",
"just": "󰷈",
"nmap": "󰒍",
"ffmpeg": "󰕼",
"ollama": "󰫢",
"ai": "󰫢",
"llm": "󰫢",
"openai": "󰫢",
"groq": "󰫢",
"gemini": "󰫢",
"claude": "󰫢",
"anthropic": "󰫢",
"copilot": "󰫢",
"chatgpt": "󰚩",
"systemctl": "󰒓",
"htop": "󰍛",
"btop": "󰍛",
"top": "󰍛",
"tar": "",
"zip": "",
"unzip": "",
"alias": "",
"history": "",
"atuin": "󰳗",
"system": "",
"root": "",
}
func lookupIcon(key string) string {
key = strings.ToLower(strings.TrimSpace(key))
if icon, ok := iconMap[key]; ok {
return icon
}
if len(key) > 0 && key[0] >= '0' && key[0] <= '9' {
return ""
}
return "❯"
}