summaryrefslogtreecommitdiff
path: root/models/album.py
blob: b2625db7d50408ddb4d379941aed2741d7381a7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
from common import utils
from db.db_manager import DbManager


class Album():
    def __init__(self, id=None, **kwargs):
        if id is not None:
            db = DbManager()
            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])
        else:
            for (key, value) in kwargs.items():
                setattr(self, key, value)

    def delete(self):
        db = DbManager()
        cursor = db.cursor()

        for track in self.tracks:
            track.delete()

        delete_sql = "DELETE FROM album WHERE id = ?"
        cursor.execute(delete_sql, (self.id,))

        delete_track_rel_sql = "DELETE FROM album_track WHERE album_id = ?"
        cursor.execute(delete_track_rel_sql, (self.id,))

        delete_artist_rel_sql = "DELETE FROM album_artist WHERE album_id = ?"
        cursor.execute(delete_artist_rel_sql, (self.id,))

        return True

    @property
    def artists(self):
        from models.artist import Artist

        if not hasattr(self, "_artists"):
            setattr(self, "_artists", [])

            db = DbManager()
            cursor = db.cursor()

            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)

        return self._artists

    @property
    def tracks(self):
        from models.track import Track

        if not hasattr(self, "_tracks"):
            setattr(self, "_tracks", [])

            db = DbManager()
            cursor = db.cursor()

            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])
                self._tracks.append(track)

        return self._tracks

    def save(self):
        dirty_attributes = {}

        # check if the internal dict has been modified
        for (attr, value) in self.__dict__.items():
            if self.__data[attr] != getattr(self, attr):
                dirty_attributes[attr] = value

        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")
            cursor.execute(sql, dirty_attributes)

    def search(**search_params):
        """Find an album with the given params

        Args:
            name: dict, with 'data' and 'operator' keys
            date: dict, with 'data' and 'operator' keys
            musicbrainz_albumid: dict, with 'data' and 'operator' keys
        """
        albums = []

        db = DbManager()
        cursor = db.cursor()

        # unpack search params
        where_params = {}
        value_params = {}
        for (attr, value) in search_params.items():
            where_params[attr] = value["operator"]
            value_params[attr] = value["data"]

        where_clause = utils.make_where_clause(where_params)

        result = None
        if where_clause:
            statement = " ".join(("SELECT * FROM album", where_clause))
            result = cursor.execute(statement, value_params)
        else:
            result = cursor.execute("SELECT * FROM album")

        for row in result:
            albums.append(
                Album(id=row[0], name=row[1], date=row[2])
            )

        return albums
class="s2">"8bbf56" let s:gui0B = "56bf8b" let g:base16_gui0B = "56bf8b" let s:gui0C = "568bbf" let g:base16_gui0C = "568bbf" let s:gui0D = "8b56bf" let g:base16_gui0D = "8b56bf" let s:gui0E = "bf568b" let g:base16_gui0E = "bf568b" let s:gui0F = "bf5656" let g:base16_gui0F = "bf5656" " Terminal color definitions let s:cterm00 = "00" let g:base16_cterm00 = "00" let s:cterm03 = "08" let g:base16_cterm03 = "08" let s:cterm05 = "07" let g:base16_cterm05 = "07" let s:cterm07 = "15" let g:base16_cterm07 = "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 = "#0b1c2c" let g:terminal_color_1 = "#bf8b56" let g:terminal_color_2 = "#56bf8b" let g:terminal_color_3 = "#8bbf56" let g:terminal_color_4 = "#8b56bf" let g:terminal_color_5 = "#bf568b" let g:terminal_color_6 = "#568bbf" let g:terminal_color_7 = "#cbd6e2" let g:terminal_color_8 = "#627e99" let g:terminal_color_9 = "#bf8b56" let g:terminal_color_10 = "#56bf8b" let g:terminal_color_11 = "#8bbf56" let g:terminal_color_12 = "#8b56bf" let g:terminal_color_13 = "#bf568b" let g:terminal_color_14 = "#568bbf" let g:terminal_color_15 = "#f7f9fb" 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 = [ \ "#0b1c2c", \ "#bf8b56", \ "#56bf8b", \ "#8bbf56", \ "#8b56bf", \ "#bf568b", \ "#568bbf", \ "#cbd6e2", \ "#627e99", \ "#bf8b56", \ "#56bf8b", \ "#8bbf56", \ "#8b56bf", \ "#bf568b", \ "#568bbf", \ "#f7f9fb", \ ] endif " Theme setup hi clear syntax reset let g:colors_name = "base16-harmonic-dark" " 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:gui0C, s:gui01, s:cterm0C, s:cterm01, "", "") call <sid>hi("Folded", s:gui03, s:gui01, s:cterm03, s:cterm01, "", "") 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:gui05, s:gui02, s:cterm05, s:cterm02, "none", "") call <sid>hi("PMenuSel", s:gui01, s:gui05, s:cterm01, s:cterm05, "", "") 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 highlighting 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:gui0F, "", s:cterm0F, "", "", "") 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:gui0F, "", s:cterm0F, "", "none", "") call <sid>hi("PreProc", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("Repeat", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("Special", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("SpecialChar", s:gui0F, "", s:cterm0F, "", "", "") 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("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:gui02, s:cterm08, s:cterm02, "", "") call <sid>hi("WarningFloat", s:gui09, s:gui02, s:cterm09, s:cterm02, "", "") call <sid>hi("InfoFloat", s:gui0D, s:gui02, s:cterm0D, s:cterm02, "", "") call <sid>hi("HintFloat", s:gui0C, s:gui02, s:cterm0C, s:cterm02, "", "") 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 highlighting call <sid>hi("cOperator", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("cPreCondit", s:gui0E, "", s:cterm0E, "", "", "") " C# highlighting 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 highlighting hi default link ClapInput ColorColumn hi default link ClapSpinner ColorColumn hi default link ClapDisplay Default hi default link ClapPreview ColorColumn hi default link ClapCurrentSelection CursorLine hi default link ClapNoMatchesFound ErrorFloat " Coc highlighting hi default link CocErrorSign ErrorSign hi default link CocWarningSign WarningSign hi default link CocInfoSign InfoSign hi default link CocHintSign HintSign hi default link CocErrorFloat ErrorFloat hi default link CocWarningFloat WarningFloat hi default link CocInfoFloat InfoFloat hi default link CocHintFloat HintFloat hi default link CocErrorHighlight ErrorHighlight hi default link CocWarningHighlight WarningHighlight hi default link CocInfoHighlight InfoHighlight hi default link CocHintHighlight HintHighlight hi default link CocSem_angle Keyword hi default link CocSem_annotation Keyword hi default link CocSem_attribute Type hi default link CocSem_bitwise Keyword hi default link CocSem_boolean Boolean hi default link CocSem_brace Normal hi default link CocSem_bracket Normal hi default link CocSem_builtinAttribute Type hi default link CocSem_builtinType Type hi default link CocSem_character String hi default link CocSem_class Structure hi default link CocSem_colon Normal hi default link CocSem_comma Normal hi default link CocSem_comment Comment hi default link CocSem_comparison Keyword hi default link CocSem_concept Keyword hi default link CocSem_constParameter Identifier hi default link CocSem_dependent Keyword hi default link CocSem_dot Keyword hi default link CocSem_enum Structure hi default link CocSem_enumMember Constant hi default link CocSem_escapeSequence Type hi default link CocSem_event Identifier hi default link CocSem_formatSpecifier Type hi default link CocSem_function Function hi default link CocSem_interface Type hi default link CocSem_keyword Keyword hi default link CocSem_label Keyword hi default link CocSem_logical Keyword hi default link CocSem_macro Macro hi default link CocSem_method Function hi default link CocSem_modifier Keyword hi default link CocSem_namespace Identifier hi default link CocSem_number Number hi default link CocSem_operator Operator hi default link CocSem_parameter Identifier hi default link CocSem_parenthesis Normal hi default link CocSem_property Identifier hi default link CocSem_punctuation Keyword hi default link CocSem_regexp Type hi default link CocSem_selfKeyword Constant hi default link CocSem_semicolon Normal hi default link CocSem_string String hi default link CocSem_struct Structure hi default link CocSem_type Type hi default link CocSem_typeAlias Type hi default link CocSem_typeParameter Type hi default link CocSem_unknown Normal hi default 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 highlighting call <sid>hi("cssBraces", s:gui05, "", s:cterm05, "", "", "") call <sid>hi("cssClassName", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("cssColor", s:gui0C, "", s:cterm0C, "", "", "") " Diff highlighting call <sid>hi("DiffAdd", s:gui0B, s:gui02, s:cterm0B, s:cterm02, "", "") call <sid>hi("DiffChange", s:gui05, s:gui02, s:cterm05, s:cterm02, "", "") call <sid>hi("DiffDelete", s:gui08, s:gui02, s:cterm08, s:cterm02, "", "") call <sid>hi("DiffText", s:gui0D, s:gui02, s:cterm0D, s:cterm02, "", "") 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 highlighting 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 highlighting hi default link GitGutterAdd GitAddSign hi default link GitGutterChange GitChangeSign hi default link GitGutterDelete GitDeleteSign hi default link GitGutterChangeDelete GitChangeDeleteSign " HTML highlighting 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 highlighting 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 highlighting 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 highlighting 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 highlighting 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, "", "", "") " NERDTree highlighting call <sid>hi("NERDTreeDirSlash", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("NERDTreeExecFile", s:gui05, "", s:cterm05, "", "", "") " PHP highlighting 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 highlighting 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 highlighting 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 highlighting 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 highlighting hi default link SignifySignAdd GitAddSign hi default link SignifySignChange GitChangeSign hi default link SignifySignDelete GitDeleteSign " Startify highlighting 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, "", "", "") " Neovim Treesitter highlighting if has("nvim") call <sid>hi("TSFunction", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("TSKeywordFunction", s:gui0E, "", s:cterm0E, "", "", "") call <sid>hi("TSMethod", s:gui0D, "", s:cterm0D, "", "", "") call <sid>hi("TSProperty", s:gui0A, "", s:cterm0A, "", "", "") call <sid>hi("TSPunctBracket", s:gui0C, "", s:cterm0C, "", "", "") call <sid>hi("TSType", s:gui08, "", s:cterm08, "", "none", "") " Treesitter-refactor highlighting call <sid>hi("TSDefinition", "", s:gui03, "", s:cterm03, "", "") call <sid>hi("TSDefinitionUsage", "", s:gui02, "", s:cterm02, "none", "") endif " LSP highlighting if has("nvim") hi default link LspDiagnosticsSignError ErrorSign hi default link LspDiagnosticsSignWarning WarningSign hi default link LspDiagnosticsSignInfo InfoSign hi default link LspDiagnosticsSignHint HintSign hi default link LspDiagnosticsVirtualTextError ErrorSign hi default link LspDiagnosticsVirtualTextWarning WarningSign hi default link LspDiagnosticsVirtualTextInfo InfoSign hi default link LspDiagnosticsVirtualTextHint HintSign hi default link LspDiagnosticsFloatingError ErrorFloat hi default link LspDiagnosticsFloatingWarning WarningFloat hi default link LspDiagnosticsFloatingInfo InfoFloat hi default link LspDiagnosticsFloatingHint HintFloat hi default link LspDiagnosticsUnderlineError ErrorHighlight hi default link LspDiagnosticsUnderlineWarning WarningHighlight hi default link LspDiagnosticsUnderlineInfo InfoHighlight hi default link LspDiagnosticsUnderlineHint HintHighlight hi default link LsoReferenceText ReferenceText hi default link LsoReferenceRead ReferenceRead hi default link LsoReferenceWrite ReferenceWrite endif " Java highlighting 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