summaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
Diffstat (limited to 'models')
-rw-r--r--models/album.py42
-rw-r--r--models/artist.py42
-rw-r--r--models/track.py75
3 files changed, 84 insertions, 75 deletions
diff --git a/models/album.py b/models/album.py
index 24af0b5..b2625db 100644
--- a/models/album.py
+++ b/models/album.py
@@ -6,8 +6,10 @@ class Album():
def __init__(self, id=None, **kwargs):
if id is not None:
db = DbManager()
- for row in db.execute("""SELECT * FROM album WHERE id = ?""",
- (id,)):
+ cursor = db.cursor()
+
+ for row in cursor.execute("SELECT * FROM album WHERE id = ?",
+ (id,)):
setattr(self, "id", id)
setattr(self, "name", row[1])
setattr(self, "date", row[2])
@@ -17,20 +19,19 @@ class Album():
def delete(self):
db = DbManager()
+ cursor = db.cursor()
for track in self.tracks:
track.delete()
delete_sql = "DELETE FROM album WHERE id = ?"
- db.execute(delete_sql, (self.id,))
+ cursor.execute(delete_sql, (self.id,))
delete_track_rel_sql = "DELETE FROM album_track WHERE album_id = ?"
- db.execute(delete_track_rel_sql, (self.id,))
+ cursor.execute(delete_track_rel_sql, (self.id,))
delete_artist_rel_sql = "DELETE FROM album_artist WHERE album_id = ?"
- db.execute(delete_artist_rel_sql, (self.id,))
-
- db.commit()
+ cursor.execute(delete_artist_rel_sql, (self.id,))
return True
@@ -42,11 +43,12 @@ class Album():
setattr(self, "_artists", [])
db = DbManager()
+ cursor = db.cursor()
- for row in db.execute("""SELECT artist.* FROM artist INNER JOIN
- album_artist ON artist.id =
- album_artist.artist_id WHERE album_id = ?
- ORDER BY name ASC""", (self.id,)):
+ for row in cursor.execute("""SELECT artist.* FROM artist INNER JOIN
+ album_artist ON artist.id =
+ album_artist.artist_id WHERE album_id = ?
+ ORDER BY name ASC""", (self.id,)):
artist = Artist(id=row[0], name=row[1], sortname=row[2],
musicbrainz_artistid=row[3])
self._artists.append(artist)
@@ -61,11 +63,12 @@ class Album():
setattr(self, "_tracks", [])
db = DbManager()
+ cursor = db.cursor()
- for row in db.execute("""SELECT track.* FROM track
- INNER JOIN album_track ON track.id =
- album_track.track_id WHERE album_id = ?
- ORDER BY tracknumber ASC""", (self.id,)):
+ for row in cursor.execute("""SELECT track.* FROM track
+ INNER JOIN album_track ON track.id =
+ album_track.track_id WHERE album_id = ?
+ ORDER BY tracknumber ASC""", (self.id,)):
track = Track(id=row[0], tracknumber=row[1], name=row[2],
grouping=row[3], filename=row[4])
@@ -83,14 +86,14 @@ class Album():
if len(dirty_attributes) > 0:
db = DbManager()
+ cursor = db.cursor()
set_clause = utils.update_clause_from_dict(dirty_attributes)
dirty_attributes[id] = self.id
sql = " ".join(("UPDATE album"), set_clause, "WHERE id = :id")
- db.execute(sql, dirty_attributes)
- db.commit()
+ cursor.execute(sql, dirty_attributes)
def search(**search_params):
"""Find an album with the given params
@@ -103,6 +106,7 @@ class Album():
albums = []
db = DbManager()
+ cursor = db.cursor()
# unpack search params
where_params = {}
@@ -116,9 +120,9 @@ class Album():
result = None
if where_clause:
statement = " ".join(("SELECT * FROM album", where_clause))
- result = db.execute(statement, value_params)
+ result = cursor.execute(statement, value_params)
else:
- result = db.execute("SELECT * FROM album")
+ result = cursor.execute("SELECT * FROM album")
for row in result:
albums.append(
diff --git a/models/artist.py b/models/artist.py
index 7d36457..1ac27d5 100644
--- a/models/artist.py
+++ b/models/artist.py
@@ -6,8 +6,10 @@ class Artist:
def __init__(self, id=None, **kwargs):
if id is not None:
db = DbManager()
- for row in db.execute("""SELECT * FROM artist WHERE id = ?""",
- (id,)):
+ cursor = db.cursor()
+
+ for row in cursor.execute("SELECT * FROM artist WHERE id = ?",
+ (id,)):
setattr(self, "id", id)
setattr(self, "name", row[1])
setattr(self, "sortname", row[2])
@@ -18,20 +20,19 @@ class Artist:
def delete(self):
db = DbManager()
+ cursor = db.cursor()
for album in self.albums:
album.delete()
delete_sql = "DELETE FROM artist WHERE id = ?"
- db.execute(delete_sql, (self.id,))
+ cursor.execute(delete_sql, (self.id,))
delete_track_rel_sql = "DELETE FROM artist_track WHERE artist_id = ?"
- db.execute(delete_track_rel_sql, (self.id,))
+ cursor.execute(delete_track_rel_sql, (self.id,))
delete_album_rel_sql = "DELETE FROM album_artist WHERE artist_id = ?"
- db.execute(delete_album_rel_sql, (self.id,))
-
- db.commit()
+ cursor.execute(delete_album_rel_sql, (self.id,))
return True
@@ -43,11 +44,12 @@ class Artist:
setattr(self, "_tracks", [])
db = DbManager()
+ cursor = db.cursor()
- for row in db.execute("""SELECT track.* FROM track
- INNER JOIN artist_track ON track.id =
- artist_track.track_id WHERE artist_id = ?
- ORDER BY name ASC""", (self.id,)):
+ for row in cursor.execute("""SELECT track.* FROM track
+ INNER JOIN artist_track ON track.id =
+ artist_track.track_id WHERE artist_id = ?
+ ORDER BY name ASC""", (self.id,)):
track = Track(id=row[0], tracknumber=row[1], name=row[2],
grouping=row[3], filename=row[4])
@@ -63,11 +65,12 @@ class Artist:
setattr(self, "_albums", [])
db = DbManager()
+ cursor = db.cursor()
- for row in db.execute("""SELECT album.* FROM album
- INNER JOIN album_artist ON album.id =
- album_artist.album_id WHERE artist_id = ?
- ORDER BY date ASC""", (self.id,)):
+ for row in cursor.execute("""SELECT album.* FROM album
+ INNER JOIN album_artist ON album.id =
+ album_artist.album_id WHERE artist_id = ?
+ ORDER BY date ASC""", (self.id,)):
album = Album(id=row[0], name=row[1], date=row[2])
self._albums.append(album)
@@ -83,14 +86,14 @@ class Artist:
if len(dirty_attributes) > 0:
db = DbManager()
+ cursor = db.cursor()
set_clause = utils.update_clause_from_dict(dirty_attributes)
dirty_attributes[id] = self.id
sql = " ".join(("UPDATE artist"), set_clause, "WHERE id = :id")
- db.execute(sql, dirty_attributes)
- db.commit()
+ cursor.execute(sql, dirty_attributes)
def search(**search_params):
"""Find an artist with the given params
@@ -103,6 +106,7 @@ class Artist:
artists = []
db = DbManager()
+ cursor = db.cursor()
# unpack search params
where_params = {}
@@ -116,9 +120,9 @@ class Artist:
result = []
if where_clause:
statement = " ".join(("SELECT * FROM artist", where_clause))
- result = db.execute(statement, value_params)
+ result = cursor.execute(statement, value_params)
else:
- result = db.execute("SELECT * FROM artist")
+ result = cursor.execute("SELECT * FROM artist")
for row in result:
artists.append(
diff --git a/models/track.py b/models/track.py
index 4d06872..854b3ee 100644
--- a/models/track.py
+++ b/models/track.py
@@ -1,4 +1,4 @@
-import sqlite3
+import apsw
from common import utils
from db.db_manager import DbManager
@@ -14,8 +14,10 @@ class Track:
if id is not None:
db = DbManager()
- for row in db.execute("""SELECT * FROM track WHERE id = ?""",
- (id,)):
+ cursor = db.cursor()
+
+ for row in cursor.execute("""SELECT * FROM track WHERE id = ?""",
+ (id,)):
setattr(self, "id", row[0])
setattr(self, "tracknumber", row[1])
setattr(self, "name", row[2])
@@ -28,10 +30,10 @@ class Track:
def delete(self):
db = DbManager()
+ cursor = db.cursor()
delete_sql = "DELETE FROM track WHERE id = ?"
- db.execute(delete_sql, (self.id,))
- db.commit()
+ cursor.execute(delete_sql, (self.id,))
return True
@@ -41,11 +43,12 @@ class Track:
setattr(self, "_album", None)
db = DbManager()
+ cursor = db.cursor()
- for row in db.execute("""SELECT album.* FROM album INNER JOIN
- album_track ON album.id =
- album_track.album_id WHERE track_id = ?
- LIMIT 1""", (self.id,)):
+ for row in cursor.execute("""SELECT album.* FROM album INNER JOIN
+ album_track ON album.id =
+ album_track.album_id WHERE track_id = ?
+ LIMIT 1""", (self.id,)):
setattr(self, "_album", Album(row[0]))
return self._album
@@ -54,12 +57,13 @@ class Track:
def artists(self):
if not hasattr(self, "_artists"):
db = DbManager()
+ cursor = db.cursor()
setattr(self, "_artists", [])
- for row in db.execute("""SELECT artist.* FROM artist INNER JOIN
- artist_track ON artist.id =
- artist_track.artist_id WHERE
- artist.id = ?""", (self.id,)):
+ for row in cursor.execute("""SELECT artist.* FROM artist INNER JOIN
+ artist_track ON artist.id =
+ artist_track.artist_id WHERE
+ artist.id = ?""", (self.id,)):
self._artists.append(Artist(row[0]))
return self._artists
@@ -130,7 +134,7 @@ class Track:
musicbrainz_artistid))
artist = Artist(
- id=c.lastrowid, name=artist_name,
+ id=db.last_insert_rowid(), name=artist_name,
sortname=artistsort,
musicbrainz_artistid=musicbrainz_artistid
)
@@ -174,7 +178,7 @@ class Track:
musicbrainz_albumid) VALUES (?,?,?)""",
(album_name, album_date, mb_albumid))
- album = Album(id=c.lastrowid, name=album_name,
+ album = Album(id=db.last_insert_rowid(), name=album_name,
date=album_date, musicbrainz_albumid=mb_albumid)
elif album_name:
@@ -191,7 +195,7 @@ class Track:
c.execute("""INSERT INTO album (name, `date`) VALUES
(?,?)""", (album_name, album_date))
- album = Album(id=c.lastrowid, name=album_name,
+ album = Album(id=db.last_insert_rowid(), name=album_name,
date=album_date)
if album:
@@ -213,7 +217,7 @@ class Track:
album_id) VALUES(?,?)""",
(artist.id, album.id)
)
- except sqlite3.IntegrityError:
+ except apsw.ConstraintError:
pass
track_number = None
@@ -242,7 +246,7 @@ class Track:
c.execute("""INSERT INTO album_track (album_id,
track_id) VALUES(?,?)""",
(album.id, self.id))
- except sqlite3.IntegrityError:
+ except apsw.ConstraintError:
pass
for artist in artists:
@@ -250,11 +254,9 @@ class Track:
c.execute("""INSERT INTO artist_track
(artist_id, track_id) VALUES(?,?)""",
(artist.id, self.id))
- except sqlite3.IntegrityError:
+ except apsw.ConstraintError:
pass
- db.commit()
- c.close()
return True
def save(self):
@@ -267,14 +269,14 @@ class Track:
if len(dirty_attributes) > 0:
db = DbManager()
+ cursor = db.cursor()
set_clause = utils.update_clause_from_dict(dirty_attributes)
dirty_attributes[id] = self.id
sql = " ".join(("UPDATE track"), set_clause, "WHERE id = :id")
- db.execute(sql, dirty_attributes)
- db.commit()
+ cursor.execute(sql, dirty_attributes)
def search(**search_params):
"""Find a track with the given params
@@ -287,6 +289,7 @@ class Track:
"""
db = DbManager()
+ cursor = db.cursor()
tracks = []
# unpack search params
@@ -301,9 +304,9 @@ class Track:
result = None
if where_clause:
statement = " ".join(("SELECT * FROM track", where_clause))
- result = db.execute(statement, value_params)
+ result = cursor.execute(statement, value_params)
else:
- result = db.execute("SELECT * FROM track")
+ result = cursor.execute("SELECT * FROM track")
for row in result:
tracks.append(
@@ -315,10 +318,11 @@ class Track:
def find_by_path(path):
db = DbManager()
+ cursor = db.cursor()
track = None
- for row in db.execute("SELECT * FROM track WHERE filename = ? LIMIT 1",
- (path,)):
+ for row in cursor.execute("""SELECT * FROM track WHERE filename = ?
+ LIMIT 1""", (path,)):
track = Track(row[0])
return track
@@ -393,7 +397,6 @@ class Track:
c.execute("""UPDATE artist SET
sortname = ? WHERE id = ?""",
(artistsort, artist.id))
- db.commit()
else:
c.execute("""INSERT INTO artist
@@ -402,7 +405,7 @@ class Track:
musicbrainz_artistid))
artist = Artist(
- id=c.lastrowid, name=artist_name,
+ id=db.last_insert_rowid(), name=artist_name,
sortname=artistsort,
musicbrainz_artistid=musicbrainz_artistid
)
@@ -446,7 +449,7 @@ class Track:
musicbrainz_albumid) VALUES (?,?,?)""",
(album_name, album_date, mb_albumid))
- album = Album(id=c.lastrowid, name=album_name,
+ album = Album(id=db.last_insert_rowid(), name=album_name,
date=album_date, musicbrainz_albumid=mb_albumid)
elif album_name:
@@ -464,7 +467,7 @@ class Track:
c.execute("""INSERT INTO album (name, `date`) VALUES
(?,?)""", (album_name, album_date))
- album = Album(id=c.lastrowid, name=album_name,
+ album = Album(id=db.last_insert_rowid(), name=album_name,
date=album_date)
for artist in artists:
@@ -475,7 +478,7 @@ class Track:
album_id) VALUES(?,?)""",
(artist.id, album.id)
)
- except sqlite3.IntegrityError:
+ except apsw.ConstraintError:
pass
track_number = None
@@ -507,7 +510,7 @@ class Track:
(track_number, track_name, track_grouping,
filename))
- track = Track(id=c.lastrowid, tracknumber=track_number,
+ track = Track(id=db.last_insert_rowid(), tracknumber=track_number,
name=track_name, grouping=track_grouping,
filename=filename)
@@ -516,7 +519,7 @@ class Track:
c.execute("""INSERT INTO album_track (album_id,
track_id) VALUES(?,?)""",
(album.id, track.id))
- except sqlite3.IntegrityError:
+ except apsw.ConstraintError:
pass
for artist in artists:
@@ -524,9 +527,7 @@ class Track:
c.execute("""INSERT INTO artist_track
(artist_id, track_id) VALUES(?,?)""",
(artist.id, track.id))
- except sqlite3.IntegrityError:
+ except apsw.ConstraintError:
pass
- db.commit()
- c.close()
return True
;15" let s:cterm08 = "01" let g:base16_cterm08 = "01" let s:cterm0A = "03" let g:base16_cterm0A = "03" let s:cterm0B = "02" let g:base16_cterm0B = "02" let s:cterm0C = "06" let g:base16_cterm0C = "06" let s:cterm0D = "04" let g:base16_cterm0D = "04" let s:cterm0E = "05" let g:base16_cterm0E = "05" if exists("base16colorspace") && base16colorspace == "256" let s:cterm01 = "18" let g:base16_cterm01 = "18" let s:cterm02 = "19" let g:base16_cterm02 = "19" let s:cterm04 = "20" let g:base16_cterm04 = "20" let s:cterm06 = "21" let g:base16_cterm06 = "21" let s:cterm09 = "16" let g:base16_cterm09 = "16" let s:cterm0F = "17" let g:base16_cterm0F = "17" else let s:cterm01 = "10" let g:base16_cterm01 = "10" let s:cterm02 = "11" let g:base16_cterm02 = "11" let s:cterm04 = "12" let g:base16_cterm04 = "12" let s:cterm06 = "13" let g:base16_cterm06 = "13" let s:cterm09 = "09" let g:base16_cterm09 = "09" let s:cterm0F = "14" let g:base16_cterm0F = "14" endif " Neovim terminal colours if has("nvim") let g:terminal_color_0 = "#2b303b" let g:terminal_color_1 = "#bf616a" let g:terminal_color_2 = "#a3be8c" let g:terminal_color_3 = "#ebcb8b" let g:terminal_color_4 = "#8fa1b3" let g:terminal_color_5 = "#b48ead" let g:terminal_color_6 = "#96b5b4" let g:terminal_color_7 = "#c0c5ce" let g:terminal_color_8 = "#65737e" let g:terminal_color_9 = "#bf616a" let g:terminal_color_10 = "#a3be8c" let g:terminal_color_11 = "#ebcb8b" let g:terminal_color_12 = "#8fa1b3" let g:terminal_color_13 = "#b48ead" let g:terminal_color_14 = "#96b5b4" let g:terminal_color_15 = "#eff1f5" let g:terminal_color_background = g:terminal_color_0 let g:terminal_color_foreground = g:terminal_color_5 if &background == "light" let g:terminal_color_background = g:terminal_color_7 let g:terminal_color_foreground = g:terminal_color_2 endif elseif has("terminal") let g:terminal_ansi_colors = [ \ "#2b303b", \ "#bf616a", \ "#a3be8c", \ "#ebcb8b", \ "#8fa1b3", \ "#b48ead", \ "#96b5b4", \ "#c0c5ce", \ "#65737e", \ "#bf616a", \ "#a3be8c", \ "#ebcb8b", \ "#8fa1b3", \ "#b48ead", \ "#96b5b4", \ "#eff1f5", \ ] endif " Theme setup hi clear syntax reset let g:colors_name = "base16-ocean" " Highlighting function " Optional variables are attributes and guisp function! g:Base16hi(group, guifg, guibg, ctermfg, ctermbg, ...) let l:attr = get(a:, 1, "") let l:guisp = get(a:, 2, "") " See :help highlight-guifg let l:gui_special_names = ["NONE", "bg", "background", "fg", "foreground"] if a:guifg != "" if index(l:gui_special_names, a:guifg) >= 0 exec "hi " . a:group . " guifg=" . a:guifg else exec "hi " . a:group . " guifg=#" . a:guifg endif endif if a:guibg != "" if index(l:gui_special_names, a:guibg) >= 0 exec "hi " . a:group . " guibg=" . a:guibg else exec "hi " . a:group . " guibg=#" . a:guibg endif endif if a:ctermfg != "" exec "hi " . a:group . " ctermfg=" . a:ctermfg endif if a:ctermbg != "" exec "hi " . a:group . " ctermbg=" . a:ctermbg endif if l:attr != "" exec "hi " . a:group . " gui=" . l:attr . " cterm=" . l:attr endif if l:guisp != "" if index(l:gui_special_names, l:guisp) >= 0 exec "hi " . a:group . " guisp=" . l:guisp else exec "hi " . a:group . " guisp=#" . l:guisp endif endif endfunction fun <sid>hi(group, guifg, guibg, ctermfg, ctermbg, attr, guisp) call g:Base16hi(a:group, a:guifg, a:guibg, a:ctermfg, a:ctermbg, a:attr, a:guisp) endfun " Vim editor colors call <sid>hi("Normal", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") call <sid>hi("Bold", "", "", "", "", "bold", "") call <sid>hi("Debug", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("Directory", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("Error", s:gui00, s:gui08, s:cterm00, s:cterm08, "", "") call <sid>hi("ErrorMsg", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") call <sid>hi("Exception", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("FoldColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "") call <sid>hi("Folded", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "") call <sid>hi("IncSearch", s:gui01, s:gui09, s:cterm01, s:cterm09, "none", "") call <sid>hi("Italic", "", "", "", "", "italic", "") call <sid>hi("Macro", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("MatchParen", "", s:gui03, "", s:cterm03, "", "") call <sid>hi("ModeMsg", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("MoreMsg", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("Question", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("Search", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") call <sid>hi("Substitute", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "none", "") call <sid>hi("SpecialKey", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("TooLong", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("Underlined", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("Visual", "", s:gui02, "", s:cterm02, "", "") call <sid>hi("VisualNOS", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("WarningMsg", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("WildMenu", s:gui00, s:gui05, s:cterm00, s:cterm05, "", "") call <sid>hi("Title", s:gui0D, "", s:cterm0D, "", "none", "") call <sid>hi("Conceal", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") call <sid>hi("Cursor", s:gui00, s:gui05, s:cterm00, s:cterm05, "inverse", "") call <sid>hi("NonText", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("Whitespace", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("LineNr", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "") call <sid>hi("SignColumn", s:gui03, s:gui00, s:cterm03, s:cterm00, "", "") call <sid>hi("StatusLine", s:gui04, s:gui01, s:cterm04, s:cterm01, "none", "") call <sid>hi("StatusLineNC", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") call <sid>hi("VertSplit", s:gui01, s:gui00, s:cterm01, s:cterm00, "none", "") call <sid>hi("ColorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorColumn", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("CursorLineNr", s:gui04, s:gui01, s:cterm04, s:cterm01, "bold", "") call <sid>hi("QuickFixLine", "", s:gui01, "", s:cterm01, "none", "") call <sid>hi("PMenu", s:gui06, s:gui01, s:cterm06, s:cterm01, "none", "") call <sid>hi("PMenuSel", s:gui06, s:gui02, s:cterm06, s:cterm02, "", "") call <sid>hi("PMenuSbar", "", s:gui03, "", s:cterm03, "", "") call <sid>hi("PMenuThumb", "", s:gui04, "", s:cterm04, "", "") call <sid>hi("TabLine", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") call <sid>hi("TabLineFill", s:gui03, s:gui01, s:cterm03, s:cterm01, "none", "") call <sid>hi("TabLineSel", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "none", "") " Standard syntax call <sid>hi("Boolean", s:gui09, "", s:cterm09, "", "", "") call <sid>hi("Character", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("Comment", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("Conditional", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("Constant", s:gui09, "", s:cterm09, "", "", "") call <sid>hi("Define", s:gui0E, "", s:cterm0E, "", "none", "") call <sid>hi("Delimiter", s:gui05, "", s:cterm05, "", "", "") call <sid>hi("Float", s:gui09, "", s:cterm09, "", "", "") call <sid>hi("Function", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("Identifier", s:gui08, "", s:cterm08, "", "none", "") call <sid>hi("Include", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("Keyword", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("Label", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("Number", s:gui09, "", s:cterm09, "", "", "") call <sid>hi("Operator", s:gui05, "", s:cterm05, "", "none", "") call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("Repeat", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("SpecialChar", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("Statement", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("StorageClass", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("String", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("Structure", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("Tag", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("Todo", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") call <sid>hi("Type", s:gui0A, "", s:cterm0A, "", "none", "") call <sid>hi("Typedef", s:gui0A, "", s:cterm0A, "", "", "") " Standard highlights to be used by plugins call <sid>hi("Deprecated", "", "", "", "", "strikethrough", "") call <sid>hi("SearchMatch", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("GitAddSign", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("GitChangeSign", s:gui04, "", s:cterm04, "", "", "") call <sid>hi("GitDeleteSign", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("GitChangeDeleteSign", s:gui04, "", s:cterm04, "", "", "") call <sid>hi("ErrorSign", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("WarningSign", s:gui09, "", s:cterm09, "", "", "") call <sid>hi("InfoSign", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("HintSign", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("ErrorFloat", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") call <sid>hi("WarningFloat", s:gui09, s:gui01, s:cterm09, s:cterm01, "", "") call <sid>hi("InfoFloat", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") call <sid>hi("HintFloat", s:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") call <sid>hi("ErrorHighlight", "", "", s:cterm00, s:cterm08, "underline", s:gui08) call <sid>hi("WarningHighlight", "", "", s:cterm00, s:cterm09, "underline", s:gui09) call <sid>hi("InfoHighlight", "", "", s:cterm00, s:cterm0D, "underline", s:gui0D) call <sid>hi("HintHighlight", "", "", s:cterm00, s:cterm0C, "underline", s:gui0C) call <sid>hi("SpellBad", "", "", s:cterm00, s:cterm08, "undercurl", s:gui08) call <sid>hi("SpellLocal", "", "", s:cterm00, s:cterm0C, "undercurl", s:gui0C) call <sid>hi("SpellCap", "", "", s:cterm00, s:cterm0D, "undercurl", s:gui0D) call <sid>hi("SpellRare", "", "", s:cterm00, s:cterm0E, "undercurl", s:gui0E) call <sid>hi("ReferenceText", s:gui01, s:gui0A, s:cterm01, s:cterm0A, "", "") call <sid>hi("ReferenceRead", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") call <sid>hi("ReferenceWrite", s:gui01, s:gui08, s:cterm01, s:cterm08, "", "") " C call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") " C# call <sid>hi("csClass", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("csAttribute", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("csModifier", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("csType", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("csUnspecifiedStatement", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("csContextualStatement", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("csNewDecleration", s:gui08, "", s:cterm08, "", "", "") " Clap hi! link ClapInput ColorColumn hi! link ClapSpinner ColorColumn hi! link ClapDisplay Default hi! link ClapPreview ColorColumn hi! link ClapCurrentSelection CursorLine hi! link ClapNoMatchesFound ErrorFloat " Coc hi! link CocErrorSign ErrorSign hi! link CocWarningSign WarningSign hi! link CocInfoSign InfoSign hi! link CocHintSign HintSign hi! link CocErrorFloat ErrorFloat hi! link CocWarningFloat WarningFloat hi! link CocInfoFloat InfoFloat hi! link CocHintFloat HintFloat hi! link CocErrorHighlight ErrorHighlight hi! link CocWarningHighlight WarningHighlight hi! link CocInfoHighlight InfoHighlight hi! link CocHintHighlight HintHighlight hi! link CocSem_angle Keyword hi! link CocSem_annotation Keyword hi! link CocSem_attribute Type hi! link CocSem_bitwise Keyword hi! link CocSem_boolean Boolean hi! link CocSem_brace Normal hi! link CocSem_bracket Normal hi! link CocSem_builtinAttribute Type hi! link CocSem_builtinType Type hi! link CocSem_character String hi! link CocSem_class Structure hi! link CocSem_colon Normal hi! link CocSem_comma Normal hi! link CocSem_comment Comment hi! link CocSem_comparison Keyword hi! link CocSem_concept Keyword hi! link CocSem_constParameter Identifier hi! link CocSem_dependent Keyword hi! link CocSem_dot Keyword hi! link CocSem_enum Structure hi! link CocSem_enumMember Constant hi! link CocSem_escapeSequence Type hi! link CocSem_event Identifier hi! link CocSem_formatSpecifier Type hi! link CocSem_function Function hi! link CocSem_interface Type hi! link CocSem_keyword Keyword hi! link CocSem_label Keyword hi! link CocSem_logical Keyword hi! link CocSem_macro Macro hi! link CocSem_method Function hi! link CocSem_modifier Keyword hi! link CocSem_namespace Identifier hi! link CocSem_number Number hi! link CocSem_operator Operator hi! link CocSem_parameter Identifier hi! link CocSem_parenthesis Normal hi! link CocSem_property Identifier hi! link CocSem_punctuation Keyword hi! link CocSem_regexp Type hi! link CocSem_selfKeyword Constant hi! link CocSem_semicolon Normal hi! link CocSem_string String hi! link CocSem_struct Structure hi! link CocSem_type Type hi! link CocSem_typeAlias Type hi! link CocSem_typeParameter Type hi! link CocSem_unknown Normal hi! link CocSem_variable Identifier call <sid>hi("CocHighlightRead", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") call <sid>hi("CocHighlightText", s:gui0A, s:gui01, s:cterm0A, s:cterm01, "", "") call <sid>hi("CocHighlightWrite", s:gui08, s:gui01, s:cterm08, s:cterm01, "", "") call <sid>hi("CocListMode", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "bold", "") call <sid>hi("CocListPath", s:gui01, s:gui0B, s:cterm01, s:cterm0B, "", "") call <sid>hi("CocSessionsName", s:gui05, "", s:cterm05, "", "", "") " CSS call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") " CMP hi! link CmpItemAbbrDeprecated Deprecated hi! link CmpItemAbbrMatch SearchMatch hi! link CmpItemAbbrMatchFuzzy SearchMatch hi! link CmpItemKindText TSText hi! link CmpItemKindMethod TSMethod hi! link CmpItemKindFunction TSFunction hi! link CmpItemKindConstructor TSConstructor hi! link CmpItemKindField TSField hi! link CmpItemKindVariable TSVariable " hi! link CmpItemKindClass TS hi! link CmpItemKindInterface TSText " hi! link CmpItemKindModule TS hi! link CmpItemKindProperty TSProperty hi! link CmpItemKindUnit TSKeyword " hi! link CmpItemKindValue TS " hi! link CmpItemKindEnum TS hi! link CmpItemKindKeyword TSKeyword " hi! link CmpItemKindSnippet TS " hi! link CmpItemKindColor TS " hi! link CmpItemKindFile TS " hi! link CmpItemKindReference TS " hi! link CmpItemKindFolder TS " hi! link CmpItemKindEnumMember TS hi! link CmpItemKindConstant TSConstant " hi! link CmpItemKindStruct TS " hi! link CmpItemKindEvent TS hi! link CmpItemKindOperator TSOperator hi! link CmpItemKindTypeParameter TSType " Diff call <sid>hi("DiffAdd", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "", "") call <sid>hi("DiffChange", s:gui05, s:gui01, s:cterm05, s:cterm01, "", "") call <sid>hi("DiffDelete", s:gui02, s:gui00, s:cterm02, s:cterm00, "", "") call <sid>hi("DiffText", s:gui0D, s:gui01, s:cterm0D, s:cterm01, "", "") call <sid>hi("DiffAdded", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") call <sid>hi("DiffFile", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") call <sid>hi("DiffNewFile", s:gui0B, s:gui00, s:cterm0B, s:cterm00, "", "") call <sid>hi("DiffLine", s:gui0D, s:gui00, s:cterm0D, s:cterm00, "", "") call <sid>hi("DiffRemoved", s:gui08, s:gui00, s:cterm08, s:cterm00, "", "") " Git call <sid>hi("gitcommitOverflow", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("gitcommitSummary", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("gitcommitComment", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("gitcommitUntracked", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("gitcommitDiscarded", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("gitcommitSelected", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("gitcommitHeader", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("gitcommitSelectedType", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("gitcommitUnmergedType", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("gitcommitDiscardedType", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("gitcommitBranch", s:gui09, "", s:cterm09, "", "bold", "") call <sid>hi("gitcommitUntrackedFile", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("gitcommitUnmergedFile", s:gui08, "", s:cterm08, "", "bold", "") call <sid>hi("gitcommitDiscardedFile", s:gui08, "", s:cterm08, "", "bold", "") call <sid>hi("gitcommitSelectedFile", s:gui0B, "", s:cterm0B, "", "bold", "") " GitGutter hi! link GitGutterAdd GitAddSign hi! link GitGutterChange GitChangeSign hi! link GitGutterDelete GitDeleteSign hi! link GitGutterChangeDelete GitChangeDeleteSign " HTML call <sid>hi("htmlBold", s:gui05, "", s:cterm0A, "", "bold", "") call <sid>hi("htmlItalic", s:gui05, "", s:cterm0E, "", "italic", "") call <sid>hi("htmlEndTag", s:gui05, "", s:cterm05, "", "", "") call <sid>hi("htmlTag", s:gui05, "", s:cterm05, "", "", "") " JavaScript call <sid>hi("javaScript", s:gui05, "", s:cterm05, "", "", "") call <sid>hi("javaScriptBraces", s:gui05, "", s:cterm05, "", "", "") call <sid>hi("javaScriptNumber", s:gui09, "", s:cterm09, "", "", "") " pangloss/vim-javascript call <sid>hi("jsOperator", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("jsStatement", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("jsReturn", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("jsThis", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("jsClassDefinition", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("jsFunction", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("jsFuncName", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("jsFuncCall", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("jsClassFuncName", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("jsClassMethodType", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("jsRegexpString", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("jsGlobalObjects", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("jsGlobalNodeObjects", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("jsExceptions", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("jsBuiltins", s:gui0A, "", s:cterm0A, "", "", "") " Mail call <sid>hi("mailQuoted1", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("mailQuoted2", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("mailQuoted3", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("mailQuoted4", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("mailQuoted5", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("mailQuoted6", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("mailURL", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("mailEmail", s:gui0D, "", s:cterm0D, "", "", "") " Markdown call <sid>hi("markdownCode", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("markdownError", s:gui05, s:gui00, s:cterm05, s:cterm00, "", "") call <sid>hi("markdownCodeBlock", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("markdownHeadingDelimiter", s:gui0D, "", s:cterm0D, "", "", "") " Matchup call <sid>hi("MatchWord", s:gui0B, s:gui01, s:cterm0B, s:cterm01, "underline", "") " NERDTree call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") " PHP call <sid>hi("phpMemberSelector", s:gui05, "", s:cterm05, "", "", "") call <sid>hi("phpComparison", s:gui05, "", s:cterm05, "", "", "") call <sid>hi("phpParent", s:gui05, "", s:cterm05, "", "", "") call <sid>hi("phpMethodsVar", s:gui0C, "", s:cterm0C, "", "", "") " Python call <sid>hi("pythonOperator", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("pythonRepeat", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("pythonInclude", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("pythonStatement", s:gui0E, "", s:cterm0E, "", "", "") " Ruby call <sid>hi("rubyAttribute", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("rubyConstant", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("rubyInterpolationDelimiter", s:gui0F, "", s:cterm0F, "", "", "") call <sid>hi("rubyRegexp", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("rubySymbol", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("rubyStringDelimiter", s:gui0B, "", s:cterm0B, "", "", "") " SASS call <sid>hi("sassidChar", s:gui08, "", s:cterm08, "", "", "") call <sid>hi("sassClassChar", s:gui09, "", s:cterm09, "", "", "") call <sid>hi("sassInclude", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("sassMixing", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("sassMixinName", s:gui0D, "", s:cterm0D, "", "", "") " Signify hi! link SignifySignAdd GitAddSign hi! link SignifySignChange GitChangeSign hi! link SignifySignDelete GitDeleteSign " Startify call <sid>hi("StartifyBracket", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifyFile", s:gui07, "", s:cterm07, "", "", "") call <sid>hi("StartifyFooter", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifyHeader", s:gui0B, "", s:cterm0B, "", "", "") call <sid>hi("StartifyNumber", s:gui09, "", s:cterm09, "", "", "") call <sid>hi("StartifyPath", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySection", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("StartifySelect", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("StartifySlash", s:gui03, "", s:cterm03, "", "", "") call <sid>hi("StartifySpecial", s:gui03, "", s:cterm03, "", "", "") " Treesitter hi! link TSVariable Identifier " Treesitter-refactor if has("nvim") call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "") call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "") endif " LSP if has("nvim") hi! link DiagnosticError ErrorSign hi! link DiagnosticWarn WarningSign hi! link DiagnosticInfo InfoSign hi! link DiagnosticHint HintSign hi! link DiagnosticFloatingError ErrorFloat hi! link DiagnosticFloatingWarn WarningFloat hi! link DiagnosticFloatingInfo InfoFloat hi! link DiagnosticFloatingHint HintFloat hi! link DiagnosticUnderlineError ErrorHighlight hi! link DiagnosticUnderlineWarn WarningHighlight hi! link DiagnosticUnderlineInfo InfoHighlight hi! link DiagnosticUnderlineHint HintHighlight hi! link DiagnosticsVirtualTextError ErrorSign hi! link DiagnosticsVirtualTextWarning WarningSign hi! link DiagnosticsVirtualTextInfo InfoSign hi! link DiagnosticsVirtualTextHint HintSign " Remove untill endif on next nvim release hi! link LspDiagnosticsSignError ErrorSign hi! link LspDiagnosticsSignWarning WarningSign hi! link LspDiagnosticsSignInfo InfoSign hi! link LspDiagnosticsSignHint HintSign hi! link LspDiagnosticsVirtualTextError ErrorSign hi! link LspDiagnosticsVirtualTextWarning WarningSign hi! link LspDiagnosticsVirtualTextInfo InfoSign hi! link LspDiagnosticsVirtualTextHint HintSign hi! link LspDiagnosticsFloatingError ErrorFloat hi! link LspDiagnosticsFloatingWarning WarningFloat hi! link LspDiagnosticsFloatingInfo InfoFloat hi! link LspDiagnosticsFloatingHint HintFloat hi! link LspDiagnosticsUnderlineError ErrorHighlight hi! link LspDiagnosticsUnderlineWarning WarningHighlight hi! link LspDiagnosticsUnderlineInfo InfoHighlight hi! link LspDiagnosticsUnderlineHint HintHighlight hi! link LspReferenceText ReferenceText hi! link LspReferenceRead ReferenceRead hi! link LspReferenceWrite ReferenceWrite endif " Java call <sid>hi("javaOperator", s:gui0D, "", s:cterm0D, "", "", "") " Remove functions delf <sid>hi " Remove color variables unlet s:gui00 s:gui01 s:gui02 s:gui03 s:gui04 s:gui05 s:gui06 s:gui07 s:gui08 s:gui09 s:gui0A s:gui0B s:gui0C s:gui0D s:gui0E s:gui0F unlet s:cterm00 s:cterm01 s:cterm02 s:cterm03 s:cterm04 s:cterm05 s:cterm06 s:cterm07 s:cterm08 s:cterm09 s:cterm0A s:cterm0B s:cterm0C s:cterm0D s:cterm0E s:cterm0F