diff --git a/LS_COLORS b/LS_COLORS deleted file mode 100644 index 2300467..0000000 --- a/LS_COLORS +++ /dev/null @@ -1,776 +0,0 @@ -# LS_COLORS -# Maintainers: Magnus Woldrich , -# Ryan Delaney OpenGPG: 0D98863B4E1D07B6 -# URL: https://github.com/trapd00r/LS_COLORS -# Version: 0.254 -# Updated: Tue Mar 29 21:25:30 AEST 2016 -# -# This is a collection of extension:color mappings, suitable to use as your -# LS_COLORS environment variable. Most of them use the extended color map, -# described in the ECMA-48 document; in other words, you'll need a terminal -# with capabilities of displaying 256 colors. -# -# As of this writing, around 300 different filetypes/extensions is supported. -# That's indeed a lot of extensions, but there's a lot more! Therefore I need -# your help. -# -# Fork this project on github, add the extensions you are missing, and send me -# a pull request. -# -# For files that usually ends up next to each other, like html, css and js, -# try to pick colors that fit nicely together. Filetypes with multiple -# possible extensions, like htm and html, should have the same color. - -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the Perl Artistic License for more details. -# -# This program is free software: you can redistribute it and/or modify it under -# the terms of the Perl Artistic License as published by the Perl Foundation, -# either version 1.0 of the License, or (at your option) any later version. -# -# You should have received a copy of the Perl Artistic License along -# with this program. If not, see . - -# core {{{1 -BLK 38;5;68 -CAPABILITY 38;5;17 -CHR 38;5;113;1 -DIR 38;5;30 -DOOR 38;5;127 -EXEC 38;5;208;1 -FIFO 38;5;126 -FILE 0 -LINK target -MULTIHARDLINK 38;5;222;1 -# "NORMAL don't reset the bold attribute - -# https://github.com/trapd00r/LS_COLORS/issues/11 -#NORMAL 38;5;254 -NORMAL 0 -ORPHAN 48;5;196;38;5;232;1 -OTHER_WRITABLE 38;5;220;1 -SETGID 48;5;3;38;5;0 -SETUID 38;5;220;1;3;100;1 -SOCK 38;5;197 -STICKY 38;5;86;48;5;234 -STICKY_OTHER_WRITABLE 48;5;235;38;5;139;3 - -*LS_COLORS 48;5;89;38;5;197;1;3;4;7 # :-) -# }}} -# documents {{{1 -*README 38;5;220;1 -*README.rst 38;5;220;1 -*README.md 38;5;220;1 -*LICENSE 38;5;220;1 -*COPYING 38;5;220;1 -*INSTALL 38;5;220;1 -*COPYRIGHT 38;5;220;1 -*AUTHORS 38;5;220;1 -*HISTORY 38;5;220;1 -*CONTRIBUTORS 38;5;220;1 -*PATENTS 38;5;220;1 -*VERSION 38;5;220;1 -*NOTICE 38;5;220;1 -*CHANGES 38;5;220;1 -.log 38;5;190 -# plain-text {{{2 -.txt 38;5;253 -# markup {{{2 -.etx 38;5;184 -.info 38;5;184 -.markdown 38;5;184 -.md 38;5;184 -.mkd 38;5;184 -.nfo 38;5;184 -.pod 38;5;184 -.rst 38;5;184 -.tex 38;5;184 -.textile 38;5;184 -# key-value, non-relational data {{{2 -.bib 38;5;178 -.json 38;5;178 -.jsonl 38;5;178 -.msg 38;5;178 -.pgn 38;5;178 -.rss 38;5;178 -.xml 38;5;178 -.toml 38;5;178 -.yaml 38;5;178 -.yml 38;5;178 -.RData 38;5;178 -.rdata 38;5;178 -# }}} -# binary {{{2 -.cbr 38;5;141 -.cbz 38;5;141 -.chm 38;5;141 -.djvu 38;5;141 -.pdf 38;5;141 -.PDF 38;5;141 -.mobi 38;5;141 -.epub 38;5;141 -# words {{{3 -.docm 38;5;111;4 -.doc 38;5;111 -.docx 38;5;111 -.eps 38;5;111 -.ps 38;5;111 -.odb 38;5;111 -.odt 38;5;111 -.rtf 38;5;111 -# presentation {{{3 -.odp 38;5;166 -.pps 38;5;166 -.ppt 38;5;166 -.pptx 38;5;166 -# Powerpoint show -.ppts 38;5;166 -# Powerpoint with enabled macros -.pptxm 38;5;166;4 -# Powerpoint show with enabled macros -.pptsm 38;5;166;4 -# spreadsheet {{{3 -.csv 38;5;78 -.tsv 38;5;78 -# Open document spreadsheet -.ods 38;5;112 -.xla 38;5;76 -# Excel spreadsheet -.xls 38;5;112 -.xlsx 38;5;112 -# Excel spreadsheet with macros -.xlsxm 38;5;112;4 -# Excel module -.xltm 38;5;73;4 -.xltx 38;5;73 -# }}} -# }}} -# configs {{{2 -*config 1 -*cfg 1 -*conf 1 -*rc 1 -*authorized_keys 1 -*known_hosts 1 -.ini 1 -.plist 1 -# vim -.viminfo 1 -# cisco VPN client configuration -.pcf 1 -# adobe photoshop proof settings file -.psf 1 -# }}} -# }}} -# code {{{1 -# version control {{{2 -.git 38;5;197 -.gitignore 38;5;240 -.gitattributes 38;5;240 -.gitmodules 38;5;240 - -# shell {{{2 -.awk 38;5;172 -.bash 38;5;172 -.bat 38;5;172 -.BAT 38;5;172 -.sed 38;5;172 -.sh 38;5;172 -.zsh 38;5;172 -.vim 38;5;172 - -# interpreted {{{2 -.ahk 38;5;41 -# python -.py 38;5;41 -.ipynb 38;5;41 -# ruby -.rb 38;5;41 -.gemspec 38;5;41 -# perl -.pl 38;5;208 -.PL 38;5;160 -.t 38;5;114 -# sql -.msql 38;5;222 -.mysql 38;5;222 -.pgsql 38;5;222 -.sql 38;5;222 -# Tool Command Language -.tcl 38;5;64;1 -# R language -.r 38;5;49 -.R 38;5;49 -# GrADS script -.gs 38;5;81 -# Clojure -.clj 38;5;41 -.cljs 38;5;41 -.cljc 38;5;41 -# Clojure gorilla REPL worksheet -.cljw 38;5;41 -# Scala -.scala 38;5;41 -# Dart -.dart 38;5;51 - -# compiled {{{2 -# -# assembly language -.asm 38;5;81 -# LISP -.cl 38;5;81 -.lisp 38;5;81 -# lua -.lua 38;5;81 -# Moonscript -.moon 38;5;81 -# C -.c 38;5;81 -.C 38;5;81 -.h 38;5;110 -.H 38;5;110 -.tcc 38;5;110 -# C++ -.c++ 38;5;81 -.h++ 38;5;110 -.hpp 38;5;110 -.hxx 38;5;110 -.ii 38;5;110 -# method file for Objective C -.M 38;5;110 -.m 38;5;110 -# Csharp -.cc 38;5;81 -.cs 38;5;81 -.cp 38;5;81 -.cpp 38;5;81 -.cxx 38;5;81 -# Crystal -.cr 38;5;81 -# Google golang -.go 38;5;81 -# fortran -.f 38;5;81 -.F 38;5;81 -.for 38;5;81 -.ftn 38;5;81 -.f90 38;5;81 -.F90 38;5;81 -.f95 38;5;81 -.F95 38;5;81 -.f03 38;5;81 -.F03 38;5;81 -.f08 38;5;81 -.F08 38;5;81 -# Nim -.nim 38;5;81 -.nimble 38;5;81 -# pascal -.s 38;5;110 -.S 38;5;110 -# Rust -.rs 38;5;81 -# Swift -.swift 38;5;219 -# ? -.sx 38;5;81 -# Vala -.vala 38;5;81 -.vapi 38;5;81 -# interface file in GHC - https://github.com/trapd00r/LS_COLORS/pull/9 -.hi 38;5;110 -# haskell -.hs 38;5;81 -.lhs 38;5;81 -# agda -.agda 38;5;81 -.lagda 38;5;81 -.lagda.tex 38;5;81 -.lagda.rst 38;5;81 -.lagda.md 38;5;81 -.agdai 38;5;110 - -# binaries {{{2 -# compiled apps for interpreted languages -.pyc 38;5;240 -# }}} -# orchestration {{{2 -.tf 38;5;168 -.tfstate 38;5;168 -.tfvars 38;5;168 -# orchestration 2}}} -# html {{{2 -.css 38;5;125;1 -.less 38;5;125;1 -.sass 38;5;125;1 -.scss 38;5;125;1 -.htm 38;5;125;1 -.html 38;5;125;1 -.jhtm 38;5;125;1 -.mht 38;5;125;1 -.eml 38;5;125;1 -.mustache 38;5;125;1 -# }}} -# java {{{2 -.coffee 38;5;074;1 -.java 38;5;074;1 -.js 38;5;074;1 -.mjs 38;5;074;1 -.jsm 38;5;074;1 -.jsm 38;5;074;1 -.jsp 38;5;074;1 -# }}} -# php {{{2 -.php 38;5;81 -# CakePHP view scripts and helpers -.ctp 38;5;81 -# Twig template engine -.twig 38;5;81 -# }}} -# vb/a {{{2 -.vb 38;5;81 -.vba 38;5;81 -.vbs 38;5;81 -# 2}}} -# Build stuff {{{2 -*Dockerfile 38;5;155 -.dockerignore 38;5;240 -*Makefile 38;5;155 -*MANIFEST 38;5;243 -*pm_to_blib 38;5;240 -# Functional Configuration -.nix 38;5;155 -.dhall 38;5;178 -# ruby rake -.rake 38;5;155 -# automake -.am 38;5;242 -.in 38;5;242 -.hin 38;5;242 -.scan 38;5;242 -.m4 38;5;242 -.old 38;5;242 -.out 38;5;242 -.SKIP 38;5;244 -# }}} -# patch files {{{2 -.diff 48;5;197;38;5;232 -.patch 48;5;197;38;5;232;1 -#}}} -# graphics {{{1 -.bmp 38;5;97 -.dicom 38;5;97 -.tiff 38;5;97 -.tif 38;5;97 -.TIFF 38;5;97 -.cdr 38;5;97 -.flif 38;5;97 -.gif 38;5;97 -.ico 38;5;97 -.jpeg 38;5;97 -.JPG 38;5;97 -.jpg 38;5;97 -.nth 38;5;97 -.png 38;5;97 -.psd 38;5;97 -.xpm 38;5;97 -.webp 38;5;97 -# }}} -# vector {{{1 -.ai 38;5;99 -.eps 38;5;99 -.epsf 38;5;99 -.drw 38;5;99 -.ps 38;5;99 -.svg 38;5;99 -# }}} -# video {{{1 -.avi 38;5;114 -.divx 38;5;114 -.IFO 38;5;114 -.m2v 38;5;114 -.m4v 38;5;114 -.mkv 38;5;114 -.MOV 38;5;114 -.mov 38;5;114 -.mp4 38;5;114 -.mpeg 38;5;114 -.mpg 38;5;114 -.ogm 38;5;114 -.rmvb 38;5;114 -.sample 38;5;114 -.wmv 38;5;114 - # mobile/streaming {{{2 -.3g2 38;5;115 -.3gp 38;5;115 -.gp3 38;5;115 -.webm 38;5;115 -.gp4 38;5;115 -.asf 38;5;115 -.flv 38;5;115 -.ts 38;5;115 -.ogv 38;5;115 -.f4v 38;5;115 - # }}} - # lossless {{{2 -.VOB 38;5;115;1 -.vob 38;5;115;1 -# }}} -# audio {{{1 -.3ga 38;5;137;1 -.S3M 38;5;137;1 -.aac 38;5;137;1 -.au 38;5;137;1 -.dat 38;5;137;1 -.dts 38;5;137;1 -.fcm 38;5;137;1 -.m4a 38;5;137;1 -.mid 38;5;137;1 -.midi 38;5;137;1 -.mod 38;5;137;1 -.mp3 38;5;137;1 -.mp4a 38;5;137;1 -.oga 38;5;137;1 -.ogg 38;5;137;1 -.opus 38;5;137;1 -.s3m 38;5;137;1 -.sid 38;5;137;1 -.wma 38;5;137;1 -# lossless -.ape 38;5;136;1 -.aiff 38;5;136;1 -.cda 38;5;136;1 -.flac 38;5;136;1 -.alac 38;5;136;1 -.midi 38;5;136;1 -.pcm 38;5;136;1 -.wav 38;5;136;1 -.wv 38;5;136;1 -.wvc 38;5;136;1 - -# }}} -# fonts {{{1 -.afm 38;5;66 -.fon 38;5;66 -.fnt 38;5;66 -.pfb 38;5;66 -.pfm 38;5;66 -.ttf 38;5;66 -.otf 38;5;66 -# postscript fonts -.PFA 38;5;66 -.pfa 38;5;66 -# }}} -# archives {{{1 -.7z 38;5;40 -.a 38;5;40 -.arj 38;5;40 -.bz2 38;5;40 -.cpio 38;5;40 -.gz 38;5;40 -.lrz 38;5;40 -.lz 38;5;40 -.lzma 38;5;40 -.lzo 38;5;40 -.rar 38;5;40 -.s7z 38;5;40 -.sz 38;5;40 -.tar 38;5;40 -.tgz 38;5;40 -.xz 38;5;40 -.z 38;5;40 -.zip 38;5;40 -.zipx 38;5;40 -.zoo 38;5;40 -.zpaq 38;5;40 -.zst 38;5;40 -.zz 38;5;40 - # packaged apps {{{2 -.apk 38;5;215 -.deb 38;5;215 -.rpm 38;5;215 -.jad 38;5;215 -.jar 38;5;215 -.cab 38;5;215 -.pak 38;5;215 -.pk3 38;5;215 -.vdf 38;5;215 -.vpk 38;5;215 -.bsp 38;5;215 -.dmg 38;5;215 - # }}} - # segments from 0 to three digits after first extension letter {{{2 -.r[0-9]{0,2} 38;5;239 -.zx[0-9]{0,2} 38;5;239 -.z[0-9]{0,2} 38;5;239 -# partial files -.part 38;5;239 - # }}} -# partition images {{{2 -.dmg 38;5;124 -.iso 38;5;124 -.bin 38;5;124 -.nrg 38;5;124 -.qcow 38;5;124 -.sparseimage 38;5;124 -.toast 38;5;124 -.vcd 38;5;124 -.vmdk 38;5;124 -# }}} -# databases {{{2 -.accdb 38;5;60 -.accde 38;5;60 -.accdr 38;5;60 -.accdt 38;5;60 -.db 38;5;60 -.fmp12 38;5;60 -.fp7 38;5;60 -.localstorage 38;5;60 -.mdb 38;5;60 -.mde 38;5;60 -.sqlite 38;5;60 -.typelib 38;5;60 -# NetCDF database -.nc 38;5;60 -# }}} -# tempfiles {{{1 -# undo files -.pacnew 38;5;33 -.un~ 38;5;241 -.orig 38;5;241 -# backups -.BUP 38;5;241 -.bak 38;5;241 -.o 38;5;241 # *nix Object file (shared libraries, core dumps etc) -*core 38;5;241 # Linux user core dump file (from /proc/sys/kernel/core_pattern) -.rlib 38;5;241 # Static rust library -# temporary files -.swp 38;5;244 -.swo 38;5;244 -.tmp 38;5;244 -.sassc 38;5;244 -# state files -.pid 38;5;248 -.state 38;5;248 -*lockfile 38;5;248 -*lock 38;5;248 -# error logs -.err 38;5;160;1 -.error 38;5;160;1 -.stderr 38;5;160;1 -# state dumps -.aria2 38;5;241 -.dump 38;5;241 -.stackdump 38;5;241 -.zcompdump 38;5;241 -.zwc 38;5;241 -# tcpdump, network traffic capture -.pcap 38;5;29 -.cap 38;5;29 -.dmp 38;5;29 -# macOS -.DS_Store 38;5;239 -.localized 38;5;239 -.CFUserTextEncoding 38;5;239 -# }}} -# hosts {{{1 -# /etc/hosts.{deny,allow} -.allow 38;5;112 -.deny 38;5;196 -# }}} -# systemd {{{1 -# http://www.freedesktop.org/software/systemd/man/systemd.unit.html -.service 38;5;45 -*@.service 38;5;45 -.socket 38;5;45 -.swap 38;5;45 -.device 38;5;45 -.mount 38;5;45 -.automount 38;5;45 -.target 38;5;45 -.path 38;5;45 -.timer 38;5;45 -.snapshot 38;5;45 -# }}} -# metadata {{{1 -.application 38;5;116 -.cue 38;5;116 -.description 38;5;116 -.directory 38;5;116 -.m3u 38;5;116 -.m3u8 38;5;116 -.md5 38;5;116 -.properties 38;5;116 -.sfv 38;5;116 -.srt 38;5;116 -.sub 38;5;116 -.theme 38;5;116 -.torrent 38;5;116 -.urlview 38;5;116 -# }}} -# encrypted data {{{1 -.asc 38;5;192;3 -.bfe 38;5;192;3 -.enc 38;5;192;3 -.gpg 38;5;192;3 -.signature 38;5;192;3 -.sig 38;5;192;3 -.p12 38;5;192;3 -.pem 38;5;192;3 -.pgp 38;5;192;3 -.asc 38;5;192;3 -.enc 38;5;192;3 -.sig 38;5;192;3 -.p7s 38;5;192;3 -*id_dsa 38;5;192;3 -*id_rsa 38;5;192;3 -*id_ecdsa 38;5;192;3 -*id_ed25519 38;5;192;3 -# 1}}} -# emulators {{{1 -.32x 38;5;213 -.cdi 38;5;213 -.fm2 38;5;213 -.rom 38;5;213 -.sav 38;5;213 -.st 38;5;213 - # atari -.a00 38;5;213 -.a52 38;5;213 -.A64 38;5;213 -.a64 38;5;213 -.a78 38;5;213 -.adf 38;5;213 -.atr 38;5;213 - # nintendo -.gb 38;5;213 -.gba 38;5;213 -.gbc 38;5;213 -.gel 38;5;213 -.gg 38;5;213 -.ggl 38;5;213 -.ipk 38;5;213 # Nintendo (DS Packed Images) -.j64 38;5;213 -.nds 38;5;213 -.nes 38;5;213 - # Sega -.sms 38;5;213 -# }}} -# unsorted {{{1 -# -# Portable Object Translation for GNU Gettext -.pot 38;5;7 -# CAD files for printed circuit boards -.pcb 38;5;7 -# groff (rendering app for texinfo) -.mm 38;5;7 -# perldoc -.pod 38;5;7 -# GIMP files -.gbr 38;5;7 -.scm 38;5;7 -.xcf 38;5;7 -# printer spool file -.spl 38;5;7 -# RStudio project file -.Rproj 38;5;11 -# Nokia Symbian OS files -.sis 38;5;7 - -.1p 38;5;7 -.3p 38;5;7 -.cnc 38;5;7 -.def 38;5;7 -.ex 38;5;7 -.example 38;5;7 -.feature 38;5;7 -.ger 38;5;7 -.map 38;5;7 -.mf 38;5;7 -.mfasl 38;5;7 -.mi 38;5;7 -.mtx 38;5;7 -.pc 38;5;7 -.pi 38;5;7 -.plt 38;5;7 -.pm 38;5;7 -.rdf 38;5;7 -.ru 38;5;7 -.sch 38;5;7 -.sty 38;5;7 -.sug 38;5;7 -.t 38;5;7 -.tdy 38;5;7 -.tfm 38;5;7 -.tfnt 38;5;7 -.tg 38;5;7 -.vcard 38;5;7 -.vcf 38;5;7 -.xln 38;5;7 -# AppCode files -.iml 38;5;166 -# Xcode files -.xcconfig 1 -.entitlements 1 -.strings 1 -.storyboard 38;5;196 -.xcsettings 1 -.xib 38;5;208 -# }}} -# termcap {{{1 -TERM ansi -TERM color-xterm -TERM con132x25 -TERM con132x30 -TERM con132x43 -TERM con132x60 -TERM con80x25 -TERM con80x28 -TERM con80x30 -TERM con80x43 -TERM con80x50 -TERM con80x60 -TERM cons25 -TERM console -TERM cygwin -TERM dtterm -TERM Eterm -TERM eterm-color -TERM gnome -TERM gnome-256color -TERM jfbterm -TERM konsole -TERM kterm -TERM linux -TERM linux-c -TERM mach-color -TERM mlterm -TERM putty -TERM rxvt -TERM rxvt-256color -TERM rxvt-cygwin -TERM rxvt-cygwin-native -TERM rxvt-unicode -TERM rxvt-unicode-256color -TERM rxvt-unicode256 -TERM screen -TERM screen-256color -TERM screen-256color-bce -TERM screen-bce -TERM screen-w -TERM screen.linux -TERM screen.rxvt -TERM terminator -TERM vt100 -TERM xterm -TERM xterm-16color -TERM xterm-256color -TERM xterm-88color -TERM xterm-color -TERM xterm-debian -TERM xterm-kitty -# }}} - - -# vim: ft=dircolors:fdm=marker:et:sw=2: diff --git a/README.md b/README.md index 2fe4d04..bc3653f 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,13 @@ Edit two files side by side, showing differences. Install diff-edit directly using pip: pip install --upgrade pip # A recent version of pip is needed. - pip install git+https://github.com/ahamilton/diff-edit + pip install --use-deprecated=legacy-resolver git+https://github.com/ahamilton/diff-edit Or install from source: git clone https://github.com/ahamilton/diff-edit pip install --upgrade pip # A recent version of pip is needed. - pip install ./diff-edit + pip install --use-deprecated=legacy-resolver ./diff-edit Then to run: diff --git a/diff_edit/LS_COLORS.sh b/diff_edit/LS_COLORS.sh deleted file mode 100755 index 83b2331..0000000 --- a/diff_edit/LS_COLORS.sh +++ /dev/null @@ -1,2 +0,0 @@ -LS_COLORS='bd=38;5;68:ca=38;5;17:cd=38;5;113;1:di=38;5;30:do=38;5;127:ex=38;5;208;1:pi=38;5;126:fi=0:ln=target:mh=38;5;222;1:no=0:or=48;5;196;38;5;232;1:ow=38;5;220;1:sg=48;5;3;38;5;0:su=38;5;220;1;3;100;1:so=38;5;197:st=38;5;86;48;5;234:tw=48;5;235;38;5;139;3:*LS_COLORS=48;5;89;38;5;197;1;3;4;7:*README=38;5;220;1:*README.rst=38;5;220;1:*README.md=38;5;220;1:*LICENSE=38;5;220;1:*COPYING=38;5;220;1:*INSTALL=38;5;220;1:*COPYRIGHT=38;5;220;1:*AUTHORS=38;5;220;1:*HISTORY=38;5;220;1:*CONTRIBUTORS=38;5;220;1:*PATENTS=38;5;220;1:*VERSION=38;5;220;1:*NOTICE=38;5;220;1:*CHANGES=38;5;220;1:*.log=38;5;190:*.txt=38;5;253:*.etx=38;5;184:*.info=38;5;184:*.markdown=38;5;184:*.md=38;5;184:*.mkd=38;5;184:*.nfo=38;5;184:*.pod=38;5;184:*.rst=38;5;184:*.tex=38;5;184:*.textile=38;5;184:*.bib=38;5;178:*.json=38;5;178:*.jsonl=38;5;178:*.msg=38;5;178:*.pgn=38;5;178:*.rss=38;5;178:*.xml=38;5;178:*.toml=38;5;178:*.yaml=38;5;178:*.yml=38;5;178:*.RData=38;5;178:*.rdata=38;5;178:*.cbr=38;5;141:*.cbz=38;5;141:*.chm=38;5;141:*.djvu=38;5;141:*.pdf=38;5;141:*.PDF=38;5;141:*.mobi=38;5;141:*.epub=38;5;141:*.docm=38;5;111;4:*.doc=38;5;111:*.docx=38;5;111:*.eps=38;5;111:*.ps=38;5;111:*.odb=38;5;111:*.odt=38;5;111:*.rtf=38;5;111:*.odp=38;5;166:*.pps=38;5;166:*.ppt=38;5;166:*.pptx=38;5;166:*.ppts=38;5;166:*.pptxm=38;5;166;4:*.pptsm=38;5;166;4:*.csv=38;5;78:*.tsv=38;5;78:*.ods=38;5;112:*.xla=38;5;76:*.xls=38;5;112:*.xlsx=38;5;112:*.xlsxm=38;5;112;4:*.xltm=38;5;73;4:*.xltx=38;5;73:*config=1:*cfg=1:*conf=1:*rc=1:*authorized_keys=1:*known_hosts=1:*.ini=1:*.plist=1:*.viminfo=1:*.pcf=1:*.psf=1:*.git=38;5;197:*.gitignore=38;5;240:*.gitattributes=38;5;240:*.gitmodules=38;5;240:*.awk=38;5;172:*.bash=38;5;172:*.bat=38;5;172:*.BAT=38;5;172:*.sed=38;5;172:*.sh=38;5;172:*.zsh=38;5;172:*.vim=38;5;172:*.ahk=38;5;41:*.py=38;5;41:*.ipynb=38;5;41:*.rb=38;5;41:*.gemspec=38;5;41:*.pl=38;5;208:*.PL=38;5;160:*.t=38;5;114:*.msql=38;5;222:*.mysql=38;5;222:*.pgsql=38;5;222:*.sql=38;5;222:*.tcl=38;5;64;1:*.r=38;5;49:*.R=38;5;49:*.gs=38;5;81:*.clj=38;5;41:*.cljs=38;5;41:*.cljc=38;5;41:*.cljw=38;5;41:*.scala=38;5;41:*.dart=38;5;51:*.asm=38;5;81:*.cl=38;5;81:*.lisp=38;5;81:*.lua=38;5;81:*.moon=38;5;81:*.c=38;5;81:*.C=38;5;81:*.h=38;5;110:*.H=38;5;110:*.tcc=38;5;110:*.c++=38;5;81:*.h++=38;5;110:*.hpp=38;5;110:*.hxx=38;5;110:*.ii=38;5;110:*.M=38;5;110:*.m=38;5;110:*.cc=38;5;81:*.cs=38;5;81:*.cp=38;5;81:*.cpp=38;5;81:*.cxx=38;5;81:*.cr=38;5;81:*.go=38;5;81:*.f=38;5;81:*.F=38;5;81:*.for=38;5;81:*.ftn=38;5;81:*.f90=38;5;81:*.F90=38;5;81:*.f95=38;5;81:*.F95=38;5;81:*.f03=38;5;81:*.F03=38;5;81:*.f08=38;5;81:*.F08=38;5;81:*.nim=38;5;81:*.nimble=38;5;81:*.s=38;5;110:*.S=38;5;110:*.rs=38;5;81:*.swift=38;5;219:*.sx=38;5;81:*.vala=38;5;81:*.vapi=38;5;81:*.hi=38;5;110:*.hs=38;5;81:*.lhs=38;5;81:*.agda=38;5;81:*.lagda=38;5;81:*.lagda.tex=38;5;81:*.lagda.rst=38;5;81:*.lagda.md=38;5;81:*.agdai=38;5;110:*.pyc=38;5;240:*.tf=38;5;168:*.tfstate=38;5;168:*.tfvars=38;5;168:*.css=38;5;125;1:*.less=38;5;125;1:*.sass=38;5;125;1:*.scss=38;5;125;1:*.htm=38;5;125;1:*.html=38;5;125;1:*.jhtm=38;5;125;1:*.mht=38;5;125;1:*.eml=38;5;125;1:*.mustache=38;5;125;1:*.coffee=38;5;074;1:*.java=38;5;074;1:*.js=38;5;074;1:*.mjs=38;5;074;1:*.jsm=38;5;074;1:*.jsm=38;5;074;1:*.jsp=38;5;074;1:*.php=38;5;81:*.ctp=38;5;81:*.twig=38;5;81:*.vb=38;5;81:*.vba=38;5;81:*.vbs=38;5;81:*Dockerfile=38;5;155:*.dockerignore=38;5;240:*Makefile=38;5;155:*MANIFEST=38;5;243:*pm_to_blib=38;5;240:*.nix=38;5;155:*.dhall=38;5;178:*.rake=38;5;155:*.am=38;5;242:*.in=38;5;242:*.hin=38;5;242:*.scan=38;5;242:*.m4=38;5;242:*.old=38;5;242:*.out=38;5;242:*.SKIP=38;5;244:*.diff=48;5;197;38;5;232:*.patch=48;5;197;38;5;232;1:*.bmp=38;5;97:*.dicom=38;5;97:*.tiff=38;5;97:*.tif=38;5;97:*.TIFF=38;5;97:*.cdr=38;5;97:*.flif=38;5;97:*.gif=38;5;97:*.ico=38;5;97:*.jpeg=38;5;97:*.JPG=38;5;97:*.jpg=38;5;97:*.nth=38;5;97:*.png=38;5;97:*.psd=38;5;97:*.xpm=38;5;97:*.webp=38;5;97:*.ai=38;5;99:*.eps=38;5;99:*.epsf=38;5;99:*.drw=38;5;99:*.ps=38;5;99:*.svg=38;5;99:*.avi=38;5;114:*.divx=38;5;114:*.IFO=38;5;114:*.m2v=38;5;114:*.m4v=38;5;114:*.mkv=38;5;114:*.MOV=38;5;114:*.mov=38;5;114:*.mp4=38;5;114:*.mpeg=38;5;114:*.mpg=38;5;114:*.ogm=38;5;114:*.rmvb=38;5;114:*.sample=38;5;114:*.wmv=38;5;114:*.3g2=38;5;115:*.3gp=38;5;115:*.gp3=38;5;115:*.webm=38;5;115:*.gp4=38;5;115:*.asf=38;5;115:*.flv=38;5;115:*.ts=38;5;115:*.ogv=38;5;115:*.f4v=38;5;115:*.VOB=38;5;115;1:*.vob=38;5;115;1:*.3ga=38;5;137;1:*.S3M=38;5;137;1:*.aac=38;5;137;1:*.au=38;5;137;1:*.dat=38;5;137;1:*.dts=38;5;137;1:*.fcm=38;5;137;1:*.m4a=38;5;137;1:*.mid=38;5;137;1:*.midi=38;5;137;1:*.mod=38;5;137;1:*.mp3=38;5;137;1:*.mp4a=38;5;137;1:*.oga=38;5;137;1:*.ogg=38;5;137;1:*.opus=38;5;137;1:*.s3m=38;5;137;1:*.sid=38;5;137;1:*.wma=38;5;137;1:*.ape=38;5;136;1:*.aiff=38;5;136;1:*.cda=38;5;136;1:*.flac=38;5;136;1:*.alac=38;5;136;1:*.midi=38;5;136;1:*.pcm=38;5;136;1:*.wav=38;5;136;1:*.wv=38;5;136;1:*.wvc=38;5;136;1:*.afm=38;5;66:*.fon=38;5;66:*.fnt=38;5;66:*.pfb=38;5;66:*.pfm=38;5;66:*.ttf=38;5;66:*.otf=38;5;66:*.PFA=38;5;66:*.pfa=38;5;66:*.7z=38;5;40:*.a=38;5;40:*.arj=38;5;40:*.bz2=38;5;40:*.cpio=38;5;40:*.gz=38;5;40:*.lrz=38;5;40:*.lz=38;5;40:*.lzma=38;5;40:*.lzo=38;5;40:*.rar=38;5;40:*.s7z=38;5;40:*.sz=38;5;40:*.tar=38;5;40:*.tgz=38;5;40:*.xz=38;5;40:*.z=38;5;40:*.zip=38;5;40:*.zipx=38;5;40:*.zoo=38;5;40:*.zpaq=38;5;40:*.zst=38;5;40:*.zz=38;5;40:*.apk=38;5;215:*.deb=38;5;215:*.rpm=38;5;215:*.jad=38;5;215:*.jar=38;5;215:*.cab=38;5;215:*.pak=38;5;215:*.pk3=38;5;215:*.vdf=38;5;215:*.vpk=38;5;215:*.bsp=38;5;215:*.dmg=38;5;215:*.r[0-9]{0,2}=38;5;239:*.zx[0-9]{0,2}=38;5;239:*.z[0-9]{0,2}=38;5;239:*.part=38;5;239:*.dmg=38;5;124:*.iso=38;5;124:*.bin=38;5;124:*.nrg=38;5;124:*.qcow=38;5;124:*.sparseimage=38;5;124:*.toast=38;5;124:*.vcd=38;5;124:*.vmdk=38;5;124:*.accdb=38;5;60:*.accde=38;5;60:*.accdr=38;5;60:*.accdt=38;5;60:*.db=38;5;60:*.fmp12=38;5;60:*.fp7=38;5;60:*.localstorage=38;5;60:*.mdb=38;5;60:*.mde=38;5;60:*.sqlite=38;5;60:*.typelib=38;5;60:*.nc=38;5;60:*.pacnew=38;5;33:*.un~=38;5;241:*.orig=38;5;241:*.BUP=38;5;241:*.bak=38;5;241:*.o=38;5;241:*core=38;5;241:*.rlib=38;5;241:*.swp=38;5;244:*.swo=38;5;244:*.tmp=38;5;244:*.sassc=38;5;244:*.pid=38;5;248:*.state=38;5;248:*lockfile=38;5;248:*lock=38;5;248:*.err=38;5;160;1:*.error=38;5;160;1:*.stderr=38;5;160;1:*.aria2=38;5;241:*.dump=38;5;241:*.stackdump=38;5;241:*.zcompdump=38;5;241:*.zwc=38;5;241:*.pcap=38;5;29:*.cap=38;5;29:*.dmp=38;5;29:*.DS_Store=38;5;239:*.localized=38;5;239:*.CFUserTextEncoding=38;5;239:*.allow=38;5;112:*.deny=38;5;196:*.service=38;5;45:*@.service=38;5;45:*.socket=38;5;45:*.swap=38;5;45:*.device=38;5;45:*.mount=38;5;45:*.automount=38;5;45:*.target=38;5;45:*.path=38;5;45:*.timer=38;5;45:*.snapshot=38;5;45:*.application=38;5;116:*.cue=38;5;116:*.description=38;5;116:*.directory=38;5;116:*.m3u=38;5;116:*.m3u8=38;5;116:*.md5=38;5;116:*.properties=38;5;116:*.sfv=38;5;116:*.srt=38;5;116:*.sub=38;5;116:*.theme=38;5;116:*.torrent=38;5;116:*.urlview=38;5;116:*.asc=38;5;192;3:*.bfe=38;5;192;3:*.enc=38;5;192;3:*.gpg=38;5;192;3:*.signature=38;5;192;3:*.sig=38;5;192;3:*.p12=38;5;192;3:*.pem=38;5;192;3:*.pgp=38;5;192;3:*.asc=38;5;192;3:*.enc=38;5;192;3:*.sig=38;5;192;3:*.p7s=38;5;192;3:*id_dsa=38;5;192;3:*id_rsa=38;5;192;3:*id_ecdsa=38;5;192;3:*id_ed25519=38;5;192;3:*.32x=38;5;213:*.cdi=38;5;213:*.fm2=38;5;213:*.rom=38;5;213:*.sav=38;5;213:*.st=38;5;213:*.a00=38;5;213:*.a52=38;5;213:*.A64=38;5;213:*.a64=38;5;213:*.a78=38;5;213:*.adf=38;5;213:*.atr=38;5;213:*.gb=38;5;213:*.gba=38;5;213:*.gbc=38;5;213:*.gel=38;5;213:*.gg=38;5;213:*.ggl=38;5;213:*.ipk=38;5;213:*.j64=38;5;213:*.nds=38;5;213:*.nes=38;5;213:*.sms=38;5;213:*.pot=38;5;7:*.pcb=38;5;7:*.mm=38;5;7:*.pod=38;5;7:*.gbr=38;5;7:*.scm=38;5;7:*.xcf=38;5;7:*.spl=38;5;7:*.Rproj=38;5;11:*.sis=38;5;7:*.1p=38;5;7:*.3p=38;5;7:*.cnc=38;5;7:*.def=38;5;7:*.ex=38;5;7:*.example=38;5;7:*.feature=38;5;7:*.ger=38;5;7:*.map=38;5;7:*.mf=38;5;7:*.mfasl=38;5;7:*.mi=38;5;7:*.mtx=38;5;7:*.pc=38;5;7:*.pi=38;5;7:*.plt=38;5;7:*.pm=38;5;7:*.rdf=38;5;7:*.ru=38;5;7:*.sch=38;5;7:*.sty=38;5;7:*.sug=38;5;7:*.t=38;5;7:*.tdy=38;5;7:*.tfm=38;5;7:*.tfnt=38;5;7:*.tg=38;5;7:*.vcard=38;5;7:*.vcf=38;5;7:*.xln=38;5;7:*.iml=38;5;166:*.xcconfig=1:*.entitlements=1:*.strings=1:*.storyboard=38;5;196:*.xcsettings=1:*.xib=38;5;208:'; -export LS_COLORS diff --git a/diff_edit/__init__.py b/diff_edit/__init__.py index e9f3413..1742080 100755 --- a/diff_edit/__init__.py +++ b/diff_edit/__init__.py @@ -83,10 +83,10 @@ def replace_part(a_str, start, end, part): @functools.lru_cache(maxsize=500) def highlight_modification(a_lines, b_lines, show_sub_highlights): blue = termstr.Color.blue - left_line = fill3.join("\n", tuple(colored_line[:len(line)] - for line, colored_line in zip(*a_lines))) - right_line = fill3.join("\n", tuple(colored_line[:len(line)] - for line, colored_line in zip(*b_lines))) + left_line = termstr.join("\n", tuple(colored_line[:len(line)] + for line, colored_line in zip(*a_lines))) + right_line = termstr.join("\n", tuple(colored_line[:len(line)] + for line, colored_line in zip(*b_lines))) if show_sub_highlights: diff = line_diff(left_line.data, right_line.data) for opcode, left_start, left_end, right_start, right_end in diff: diff --git a/diff_edit/editor.py b/diff_edit/editor.py index 6212128..9fd535b 100755 --- a/diff_edit/editor.py +++ b/diff_edit/editor.py @@ -6,13 +6,10 @@ import asyncio import contextlib import enum import functools -import importlib -import importlib.resources import os import string import sys -import diff_edit import fill3 import fill3.terminal as terminal import lscolors @@ -24,40 +21,6 @@ import termstr import cwcwidth -def get_ls_color_codes(): - with importlib.resources.open_text(diff_edit, "LS_COLORS.sh") as lscolors_file: - codes = lscolors_file.readline().strip()[len("LS_COLORS='"):-len("';")] - return lscolors._parse_ls_colors(codes) - - -_LS_COLOR_CODES = get_ls_color_codes() - - -def _charstyle_of_path(path): - color_code = lscolors.color_code_for_path(path, _LS_COLOR_CODES) - if color_code is None: - return termstr.CharStyle() - term_text = termstr.ESC + "[" + color_code + "m-" - return termstr.TermStr.from_term(term_text).style[0] - - -@functools.lru_cache(maxsize=100) -def path_colored(path): - char_style = _charstyle_of_path(path) - if path.startswith("./"): - path = path[2:] - dirname, basename = os.path.split(path) - if dirname == "": - return termstr.TermStr(basename, char_style) - else: - dirname = dirname + os.path.sep - dir_style = _charstyle_of_path(os.path.sep) - parts = [termstr.TermStr(part, dir_style) for part in dirname.split(os.path.sep)] - path_sep = termstr.TermStr(os.path.sep).fg_color(termstr.Color.grey_150) - dir_name = fill3.join(path_sep, parts) - return dir_name + termstr.TermStr(basename, char_style) - - @functools.lru_cache(maxsize=100) def highlight_str(line, bg_color, transparency=0.6): def blend_style(style): @@ -97,11 +60,11 @@ def _syntax_highlight(text, lexer, style): default_bg_color = _parse_rgb(style.background_color) default_style = termstr.CharStyle(bg_color=default_bg_color) text = expandtabs(text) - text = fill3.join("", [termstr.TermStr( + text = termstr.join("", [termstr.TermStr( text, _char_style_for_token_type(token_type, default_bg_color, default_style)) for token_type, text in pygments.lex(text, lexer)]) text_widget = fill3.Text(text, pad_char=termstr.TermStr(" ").bg_color(default_bg_color)) - return fill3.join("\n", text_widget.text) + return termstr.join("\n", text_widget.text) @functools.lru_cache(maxsize=5000) @@ -259,7 +222,7 @@ def wrap_text(words, width): coords = [] for index, line in enumerate(_wrap_text_lines(words, width)): line = list(line) - content = fill3.join(" ", line) + content = termstr.join(" ", line) appearance.append(content.center(width)) cursor = index * width + round((width - len(content)) / 2) for word in line: @@ -895,9 +858,9 @@ class Editor: change_marker = "*" if is_changed else "" cursor_position = termstr.TermStr( f"Line {cursor_y+1} Column {cursor_x+1:<3}").fg_color(termstr.Color.grey_100) - path_part = (path_colored(path) + change_marker).ljust(width - len(cursor_position) - 2) + path_part = (lscolors.path_colored(path) + change_marker).ljust(width - len(cursor_position) - 2) header = " " + path_part + cursor_position + " " - return termstr.TermStr(header).bg_color(termstr.Color.grey_30) + return termstr.TermStr(header).bg_color(termstr.Color.grey_50) def appearance_for(self, dimensions): width, height = dimensions diff --git a/setup.py b/setup.py index 02e692b..7cec5a6 100755 --- a/setup.py +++ b/setup.py @@ -18,5 +18,6 @@ setup(name="diff-edit", entry_points={"console_scripts": ["diff-edit=diff_edit:main"]}, install_requires=[ "pygments==2.10.0", "docopt==0.6.2", - "fill3 @ git+https://github.com/ahamilton/eris@v2022.04.30#subdirectory=fill3", - "lscolors @ git+https://github.com/ahamilton/eris@v2022.04.30#subdirectory=lscolors"]) + "termstr @ git+https://github.com/ahamilton/eris@v2022.05.11#subdirectory=termstr", + "fill3 @ git+https://github.com/ahamilton/eris@v2022.05.11#subdirectory=fill3", + "lscolors @ git+https://github.com/ahamilton/eris@v2022.05.11#subdirectory=lscolors"])