Skip to content

Instantly share code, notes, and snippets.

@jarun
Forked from mateuspontes/migrate-fish-history-to-zsh.py
Last active July 17, 2021 19:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jarun/297b416581146dc7d367a3f39298e653 to your computer and use it in GitHub Desktop.
Save jarun/297b416581146dc7d367a3f39298e653 to your computer and use it in GitHub Desktop.
Migrate fish history to zsh shell (python 2.7)
import os
import re
def fish_to_zsh(cmd):
return (cmd.replace('; and ', '&&')
.replace('; or ', '||'))
with open(os.path.expanduser('~/.zsh_history.test'), 'a') as o:
with open(os.path.expanduser('~/.local/share/fish/fish_history')) as f:
for line in f:
line = line.strip()
if line and re.match('^- cmd:', line):
meta, command = line.split('- cmd: ', 1)
line = f.next().strip()
if line and re.match('^when:', line):
meta, when = line.split('when: ', 1)
o.write(': %s:0;%s\n' % (when, fish_to_zsh(command)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment