Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vividvilla/64c1992d4b03849a39734dc27d64f83a to your computer and use it in GitHub Desktop.
Save vividvilla/64c1992d4b03849a39734dc27d64f83a 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