Added file suffix and icon associations data

This commit is contained in:
Mikayla Maki 2023-07-13 20:46:24 -07:00
parent d023189bda
commit fd72f4526d
No known key found for this signature in database
32 changed files with 451 additions and 62 deletions

1
Cargo.lock generated
View file

@ -5360,6 +5360,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"client",
"collections",
"context_menu",
"db",
"drag_and_drop",

View file

@ -0,0 +1,107 @@
{
"suffixes": {
"jpg": "image",
"jpeg": "image",
"tiff": "image",
"svg": "image",
"psd": "image",
"png": "image",
"gif": "image",
"bmp": "image",
"ico": "image",
"mp4": "video",
"webm": "video",
"ogg": "video",
"mp3": "audio",
"wav": "audio",
"flac": "audio",
"aac": "audio",
"pdf": "document",
"doc": "document",
"docx": "document",
"xls": "document",
"xlsx": "document",
"ppt": "document",
"pptx": "document",
"odt": "document",
"ods": "document",
"odp": "document",
"txt": "document",
"rtf": "document",
"md": "document",
"html": "template",
"htm": "template",
"xml": "template",
"hbs": "template",
"handlebars": "template",
"js": "code",
"css": "code",
"php": "code",
"c": "code",
"cpp": "code",
"h": "code",
"hpp": "code",
"java": "code",
"py": "code",
"swift": "code",
"go": "code",
"rb": "code",
"rs": "code",
"rkt": "code",
"scm": "code",
"sql": "code",
"json": "settings",
"ini": "settings",
"yaml": "settings",
"yml": "settings",
"toml": "settings",
"conf": "settings",
"lock": "settings",
"gitignore": "vcs",
"gitattributes": "vcs",
"ps1": "terminal",
"sh": "terminal",
"bash": "terminal",
"zsh": "terminal",
"fish": "terminal",
"log": "log"
},
"types": {
"directory": {
"icon": "icons/file_icons/quill/folder.svg"
},
"expanded_directory": {
"icon": "icons/file_icons/quill/folder-open.svg"
},
"image": {
"icon": "icons/file_icons/quill/image.svg"
},
"video": {
"icon": "icons/file_icons/quill/file.svg"
},
"audio": {
"icon": "icons/file_icons/quill/file.svg"
},
"document": {
"icon": "icons/file_icons/quill/book.svg"
},
"template": {
"icon": "icons/file_icons/quill/html.svg"
},
"code": {
"icon": "icons/file_icons/quill/code.svg"
},
"settings": {
"icon": "icons/file_icons/quill/settings.svg"
},
"vcs": {
"icon": "icons/file_icons/quill/git.svg"
},
"terminal": {
"icon": "icons/file_icons/quill/terminal.svg"
},
"log": {
"icon": "icons/file_icons/quill/info.svg"
}
}
}

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>anchor_dark</title>
<desc>Created with Sketch.</desc>
<g id="anchor_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="anchor" transform="translate(4.000000, 4.000000)" fill="#F0F4F8" fill-rule="nonzero">
<path d="M13.5,20.3680668 C16.9921024,19.7462957 19.7462957,16.9921024 20.3680668,13.5 L19,13.5 C18.1715729,13.5 17.5,12.8284271 17.5,12 C17.5,11.1715729 18.1715729,10.5 19,10.5 L22,10.5 C22.8284271,10.5 23.5,11.1715729 23.5,12 C23.5,18.3512746 18.3512746,23.5 12,23.5 C5.64872538,23.5 0.5,18.3512746 0.5,12 C0.5,11.1715729 1.17157288,10.5 2,10.5 L5,10.5 C5.82842712,10.5 6.5,11.1715729 6.5,12 C6.5,12.8284271 5.82842712,13.5 5,13.5 L3.63193315,13.5 C4.25370429,16.9921024 7.00789762,19.7462957 10.5,20.3680668 L10.5,9.24394144 C8.75221144,8.62618683 7.5,6.95932824 7.5,5 C7.5,2.51471863 9.51471863,0.5 12,0.5 C14.4852814,0.5 16.5,2.51471863 16.5,5 C16.5,6.95932824 15.2477886,8.62618683 13.5,9.24394144 L13.5,20.3680668 Z M12,6.5 C12.8284271,6.5 13.5,5.82842712 13.5,5 C13.5,4.17157288 12.8284271,3.5 12,3.5 C11.1715729,3.5 10.5,4.17157288 10.5,5 C10.5,5.82842712 11.1715729,6.5 12,6.5 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>archive_dark</title>
<desc>Created with Sketch.</desc>
<g id="archive_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="archive" transform="translate(3.000000, 5.000000)">
<path d="M20.5,8.5 L5.5,8.5 L5.5,18.5 L20.5,18.5 L20.5,8.5 Z M23.5,8.5 L23.5,20 C23.5,20.8284271 22.8284271,21.5 22,21.5 L4,21.5 C3.17157288,21.5 2.5,20.8284271 2.5,20 L2.5,8.5 L2,8.5 C1.17157288,8.5 0.5,7.82842712 0.5,7 L0.5,2 C0.5,1.17157288 1.17157288,0.5 2,0.5 L24,0.5 C24.8284271,0.5 25.5,1.17157288 25.5,2 L25.5,7 C25.5,7.82842712 24.8284271,8.5 24,8.5 L23.5,8.5 Z M3.5,3.5 L3.5,5.5 L22.5,5.5 L22.5,3.5 L3.5,3.5 Z" id="Shape" fill-opacity="0.16" fill="#F0F4F8" fill-rule="nonzero"></path>
<line x1="11" y1="13" x2="15" y2="13" id="Shape" stroke-opacity="0.16" stroke="#F0F4F8" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></line>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>book_dark</title>
<desc>Created with Sketch.</desc>
<g id="book_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="book-open" transform="translate(4.000000, 5.000000)" fill="#F0F4F8" fill-rule="nonzero">
<path d="M8,0.5 C9.5760283,0.5 10.9972305,1.16288947 12,2.2250619 C13.0027695,1.16288947 14.4239717,0.5 16,0.5 L22,0.5 C22.8284271,0.5 23.5,1.17157288 23.5,2 L23.5,17 C23.5,17.8284271 22.8284271,18.5 22,18.5 L15,18.5 C14.1715729,18.5 13.5,19.1715729 13.5,20 C13.5,22 10.5,22 10.5,20 C10.5,19.1715729 9.82842712,18.5 9,18.5 L2,18.5 C1.17157288,18.5 0.5,17.8284271 0.5,17 L0.5,2 C0.5,1.17157288 1.17157288,0.5 2,0.5 L8,0.5 Z M7.5,3 L4.5,3 C3.94771525,3 3.5,3.44771525 3.5,4 L3.5,4 L3.5,15 C3.5,15.5522847 3.94771525,16 4.5,16 L4.5,16 L9.5,16 C10.0522847,16 10.5,15.5522847 10.5,15 L10.5,15 L10.5,6 C10.5,4.34314575 9.15685425,3 7.5,3 L7.5,3 Z M19.5,3 L16.5,3 C14.8431458,3 13.5,4.34314575 13.5,6 L13.5,15 C13.5,15.5522847 13.9477153,16 14.5,16 L19.5,16 C20.0522847,16 20.5,15.5522847 20.5,15 L20.5,4 C20.5,3.44771525 20.0522847,3 19.5,3 Z" id="Combined-Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>camera_dark</title>
<desc>Created with Sketch.</desc>
<g id="camera_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-opacity="0.16">
<g id="camera-(1)" transform="translate(5.000000, 7.000000)" stroke="#F0F4F8" stroke-width="3">
<path d="M22,16 C22,17.1045695 21.1045695,18 20,18 L2,18 C0.8954305,18 0,17.1045695 0,16 L0,5 C0,3.8954305 0.8954305,3 2,3 L6,3 L8,0 L14,0 L16,3 L20,3 C21.1045695,3 22,3.8954305 22,5 L22,16 Z" id="Shape"></path>
<circle id="Oval" cx="11" cy="10" r="3"></circle>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 893 B

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>code_dark</title>
<desc>Created with Sketch.</desc>
<g id="code_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="Group" transform="translate(4.000000, 6.000000)" fill="#F0F4F8">
<path d="M3.85526316,10.0052056 C4.47807329,10.3106036 4.96491053,10.6524361 5.31578947,11.0307132 C5.66666842,11.4089903 5.91228,11.8913731 6.05263158,12.4778761 C6.19298316,13.0643791 6.26315789,13.8157164 6.26315789,14.7319105 C6.26315789,15.419056 6.28289454,15.9257315 6.32236842,16.2519521 C6.3618423,16.5781727 6.44078888,16.8263049 6.55921053,16.9963561 C6.67763217,17.1664072 6.82017461,17.2774594 6.98684211,17.3295159 C7.15350961,17.3815724 7.43859447,17.4318929 7.84210526,17.4804789 C8.17544026,17.5151832 8.45175329,17.6435873 8.67105263,17.865695 C8.89035197,18.0878026 9,18.3793145 9,18.7402395 C9,19.580084 8.35526961,20 7.06578947,20 C6.26753987,20 5.5548277,19.8681256 4.92763158,19.6043727 C4.30043546,19.3406199 3.81579118,18.967554 3.47368421,18.485164 C3.13157724,18.0027739 2.95614039,17.4492483 2.94736842,16.8245705 C2.9210525,15.7695592 2.89473697,14.9227865 2.86842105,14.284227 C2.84210513,13.6456675 2.80263184,13.2326922 2.75,13.0452889 C2.61842039,12.580251 2.42324691,12.2297426 2.16447368,11.9937533 C1.90570046,11.7577639 1.56798454,11.5373947 1.15131579,11.3326393 C0.734647039,11.1278838 0.438597368,10.9439536 0.263157895,10.7808433 C0.0877184211,10.617733 0,10.3591897 0,10.0052056 C0,9.49158168 0.254383421,9.1063695 0.763157895,8.84955752 C1.39474,8.53721864 1.84429691,8.27173457 2.11184211,8.05309735 C2.3793873,7.83446012 2.56798191,7.55335934 2.67763158,7.20978657 C2.78728125,6.86621379 2.85087711,6.49141275 2.86842105,6.0853722 C2.885965,5.67933165 2.91228053,4.70241968 2.94736842,3.15460698 C2.97368434,2.19676773 3.35745243,1.43154893 4.09868421,0.858927642 C4.83991599,0.286306351 5.82894118,0 7.06578947,0 C8.35526961,0 9,0.412975221 9,1.23893805 C9,1.61374472 8.89254493,1.90872702 8.67763158,2.12389381 C8.46271822,2.33906059 8.18421224,2.46399427 7.84210526,2.49869859 C7.33333079,2.55422551 6.97807118,2.63751463 6.77631579,2.74856845 C6.57456039,2.85962228 6.44298276,3.07478584 6.38157895,3.39406559 C6.32017513,3.71334534 6.28070184,4.33107298 6.26315789,5.24726705 C6.24561395,6.14263852 6.17763217,6.87662389 6.05921053,7.44924518 C5.94078888,8.02186648 5.70833507,8.50945487 5.36184211,8.91202499 C5.01534914,9.31459511 4.51316118,9.67898501 3.85526316,10.0052056 Z" id="{"></path>
<path d="M18.8552632,10.0052056 C19.4780733,10.3106036 19.9649105,10.6524361 20.3157895,11.0307132 C20.6666684,11.4089903 20.91228,11.8913731 21.0526316,12.4778761 C21.1929832,13.0643791 21.2631579,13.8157164 21.2631579,14.7319105 C21.2631579,15.419056 21.2828945,15.9257315 21.3223684,16.2519521 C21.3618423,16.5781727 21.4407889,16.8263049 21.5592105,16.9963561 C21.6776322,17.1664072 21.8201746,17.2774594 21.9868421,17.3295159 C22.1535096,17.3815724 22.4385945,17.4318929 22.8421053,17.4804789 C23.1754403,17.5151832 23.4517533,17.6435873 23.6710526,17.865695 C23.890352,18.0878026 24,18.3793145 24,18.7402395 C24,19.580084 23.3552696,20 22.0657895,20 C21.2675399,20 20.5548277,19.8681256 19.9276316,19.6043727 C19.3004355,19.3406199 18.8157912,18.967554 18.4736842,18.485164 C18.1315772,18.0027739 17.9561404,17.4492483 17.9473684,16.8245705 C17.9210525,15.7695592 17.894737,14.9227865 17.8684211,14.284227 C17.8421051,13.6456675 17.8026318,13.2326922 17.75,13.0452889 C17.6184204,12.580251 17.4232469,12.2297426 17.1644737,11.9937533 C16.9057005,11.7577639 16.5679845,11.5373947 16.1513158,11.3326393 C15.734647,11.1278838 15.4385974,10.9439536 15.2631579,10.7808433 C15.0877184,10.617733 15,10.3591897 15,10.0052056 C15,9.49158168 15.2543834,9.1063695 15.7631579,8.84955752 C16.39474,8.53721864 16.8442969,8.27173457 17.1118421,8.05309735 C17.3793873,7.83446012 17.5679819,7.55335934 17.6776316,7.20978657 C17.7872813,6.86621379 17.8508771,6.49141275 17.8684211,6.0853722 C17.885965,5.67933165 17.9122805,4.70241968 17.9473684,3.15460698 C17.9736843,2.19676773 18.3574524,1.43154893 19.0986842,0.858927642 C19.839916,0.286306351 20.8289412,0 22.0657895,0 C23.3552696,0 24,0.412975221 24,1.23893805 C24,1.61374472 23.8925449,1.90872702 23.6776316,2.12389381 C23.4627182,2.33906059 23.1842122,2.46399427 22.8421053,2.49869859 C22.3333308,2.55422551 21.9780712,2.63751463 21.7763158,2.74856845 C21.5745604,2.85962228 21.4429828,3.07478584 21.3815789,3.39406559 C21.3201751,3.71334534 21.2807018,4.33107298 21.2631579,5.24726705 C21.2456139,6.14263852 21.1776322,6.87662389 21.0592105,7.44924518 C20.9407889,8.02186648 20.7083351,8.50945487 20.3618421,8.91202499 C20.0153491,9.31459511 19.5131612,9.67898501 18.8552632,10.0052056 Z" id="{-copy" transform="translate(19.500000, 10.000000) scale(-1, 1) translate(-19.500000, -10.000000) "></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5 KiB

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>database_dark</title>
<desc>Created with Sketch.</desc>
<g id="database_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="database" transform="translate(7.000000, 6.000000)" fill="#F0F4F8" fill-rule="nonzero">
<path d="M1.5,6.31836528 L1.5,9.87195398 C1.5295072,9.90388364 1.57397929,9.94529015 1.63471927,9.99342135 C1.93114115,10.2283101 2.43432036,10.4774601 3.09999828,10.6996941 C4.60871521,11.2033734 6.71873917,11.5 9,11.5 C11.2812608,11.5 13.3912848,11.2033734 14.9000017,10.6996941 C15.5656796,10.4774601 16.0688588,10.2283101 16.3652807,9.99342135 C16.4260207,9.94529015 16.4704928,9.90388364 16.5,9.87195284 L16.5,6.31836528 C14.5936196,7.09723341 11.9368061,7.5 9,7.5 C6.06319391,7.5 3.40638041,7.09723341 1.5,6.31836528 L1.5,6.31836528 Z M-1.5,2.99997458 C-1.5,0.0682849127 3.20489868,-1.5 9,-1.5 C14.7951181,-1.5 19.5,0.0682939772 19.5,3 L19.5,17 C19.5,19.9365866 14.8169644,21.5 9,21.5 C3.18303556,21.5 -1.5,19.9365866 -1.5,17 L-1.5,3 L-1.5,2.99997458 Z M16.5,13.3235193 C14.5970266,14.0996216 11.9437086,14.5 9,14.5 C6.05629139,14.5 3.40297343,14.0996216 1.5,13.3235193 L1.5,16.8719528 C1.5295072,16.9038836 1.57397929,16.9452902 1.63471927,16.9934213 C1.93114115,17.2283101 2.43432036,17.4774601 3.09999828,17.6996941 C4.60871521,18.2033734 6.71873917,18.5 9,18.5 C11.2812608,18.5 13.3912848,18.2033734 14.9000017,17.6996941 C15.5656796,17.4774601 16.0688588,17.2283101 16.3652807,16.9934213 C16.4260207,16.9452902 16.4704928,16.9038836 16.5,16.8719528 L16.5,13.3235193 Z M3.11038062,3.6982954 C4.62322766,4.20257774 6.73278324,4.5 9,4.5 C11.2672168,4.5 13.3767723,4.20257774 14.8896194,3.6982954 C15.5486809,3.47860822 16.0502557,3.2326794 16.3509787,3 C16.0502557,2.7673206 15.5486809,2.52139178 14.8896194,2.3017046 C13.3767723,1.79742226 11.2672168,1.5 9,1.5 C6.73278324,1.5 4.62322766,1.79742226 3.11038062,2.3017046 C2.45131909,2.52139178 1.94974431,2.7673206 1.64902134,3 C1.94974431,3.2326794 2.45131909,3.47860822 3.11038062,3.6982954 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>eslint_dark</title>
<desc>Created with Sketch.</desc>
<g id="eslint_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M16.4592921,5.28867513 L25.4185843,10.4613249 C25.7279854,10.6399577 25.9185843,10.9700847 25.9185843,11.3273503 L25.9185843,21.6726497 C25.9185843,22.0299153 25.7279854,22.3600423 25.4185843,22.5386751 L16.4592921,27.7113249 C16.1498911,27.8899577 15.7686932,27.8899577 15.4592921,27.7113249 L6.5,22.5386751 C6.19059892,22.3600423 6,22.0299153 6,21.6726497 L6,11.3273503 C6,10.9700847 6.19059892,10.6399577 6.5,10.4613249 L15.4592921,5.28867513 C15.7686932,5.11004234 16.1498911,5.11004234 16.4592921,5.28867513 Z" id="Polygon" stroke-opacity="0.16" stroke="#F0F4F8" stroke-width="3" fill-rule="nonzero" transform="translate(15.959292, 16.500000) rotate(-330.000000) translate(-15.959292, -16.500000) "></path>
<path d="M16.4472589,11.1185988 L20.3945179,13.3975498 C20.7039189,13.5761826 20.8945179,13.9063096 20.8945179,14.2635752 L20.8945179,18.8214772 C20.8945179,19.1787428 20.7039189,19.5088698 20.3945179,19.6875026 L16.4472589,21.9664536 C16.1378579,22.1450864 15.75666,22.1450864 15.4472589,21.9664536 L11.5,19.6875026 C11.1905989,19.5088698 11,19.1787428 11,18.8214772 L11,14.2635752 C11,13.9063096 11.1905989,13.5761826 11.5,13.3975498 L15.4472589,11.1185988 C15.75666,10.939966 16.1378579,10.939966 16.4472589,11.1185988 Z" id="Polygon-Copy" fill-opacity="0.16" fill="#F0F4F8" fill-rule="nonzero" transform="translate(15.947259, 16.542526) rotate(-360.000000) translate(-15.947259, -16.542526) "></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>file_dark</title>
<desc>Created with Sketch.</desc>
<g id="file_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<rect id="Rectangle" fill="#F0F4F8" fill-rule="nonzero" x="6" y="6" width="16" height="3" rx="1.5"></rect>
<rect id="Rectangle-Copy" fill="#F0F4F8" fill-rule="nonzero" x="6" y="14" width="20" height="3" rx="1.5"></rect>
<rect id="Rectangle-Copy-2" fill="#F0F4F8" fill-rule="nonzero" x="6" y="22" width="11" height="3" rx="1.5"></rect>
</g>
</svg>

After

Width:  |  Height:  |  Size: 796 B

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>folder-open_dark</title>
<desc>Created with Sketch.</desc>
<g id="folder-open_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="folder-plus-copy" transform="translate(4.000000, 5.000000)" fill="#F0F4F8" fill-rule="nonzero">
<path d="M8.02048565,0 C8.66618192,0 9.16565924,0.333333333 9.51891759,1 L10.8,3.83333333 L22.0794975,3.83333333 C23.4049809,3.83333333 24,4.62508741 24,6.03648177 L24,20.9975166 C24,22.408911 23.4049809,23 22.0794975,23 L2,23 C0.6745166,23 0,22.408911 0,20.9975166 L0,2.00113218 C0,0.589737816 0.6745166,0 2,0 L8.02048565,0 L8.02048565,0 Z M6.45805361,2.99949054 L3.99467176,2.99949054 L3.99467176,2.99949054 C3.34390054,2.99949054 3.01851493,3.30237189 3.01851493,3.9081346 L3.01851493,13 L3.01851493,13 L21.0166975,13 L21.0166975,7.57306491 L21.0166975,7.57306491 C21.0166975,6.95482358 20.6778325,6.64570291 20.0001025,6.64570291 L9.49962531,6.64570291 L9.49962531,6.64570291 C9.08788539,6.64570291 8.76187861,6.33919388 8.52160496,5.7261758 L7.58317716,3.9081346 C7.21690437,3.30237189 6.84186318,2.99949054 6.45805361,2.99949054 Z" id="Combined-Shape" fill-opacity="0.16"></path>
<path d="M3,13.0005095 L20.9981825,13.0005095 C20.9981825,10.0007941 20.9981825,8.19181571 20.9981825,7.57357437 C20.9981825,6.95533304 20.6593175,6.64621238 19.9815875,6.64621238 C14.9229603,6.64621238 11.4228012,6.64621238 9.48111038,6.64621238 C9.06937046,6.64621238 8.74336367,6.33970334 8.50309002,5.72668526 L7.56466222,3.90864406 C7.19838943,3.30288135 6.82334825,3 6.43953867,3 C5.94161712,3 5.12048984,3 3.97615682,3 C3.32538561,3 3,3.30288135 3,3.90864406 C3,6.86935877 3,9.89998058 3,13.0005095 Z" id="Path-3-Copy" fill-opacity="0.04"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>folder_dark</title>
<desc>Created with Sketch.</desc>
<g id="folder_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="folder-plus" transform="translate(4.000000, 5.000000)" fill="#F0F4F8">
<path d="M24,20.9975166 C24,22.408911 23.4049809,23 22.0794975,23 L2,23 C0.6745166,23 0,22.408911 0,20.9975166 L0,2.00113218 C0,0.589737816 0.6745166,0 2,0 C4.48488653,0 6.49171508,0 8.02048565,0 C8.66618192,0 9.16565924,0.333333333 9.51891759,1 L10.8,3.83333333 L22.0794975,3.83333333 C23.4049809,3.83333333 24,4.62508741 24,6.03648177 L24,20.9975166 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 926 B

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>git_dark</title>
<desc>Created with Sketch.</desc>
<g id="git_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="git-branch" transform="translate(5.000000, 5.000000)" fill="#F0F4F8" fill-rule="nonzero">
<path d="M9.27004651,18.4239706 C8.6742694,20.21136 6.9876237,21.5 5,21.5 C2.51471863,21.5 0.5,19.4852814 0.5,17 C0.5,15.0406718 1.75221144,13.3738132 3.5,12.7560586 L3.5,2 C3.5,1.17157288 4.17157288,0.5 5,0.5 C5.82842712,0.5 6.5,1.17157288 6.5,2 L6.5,12.7560586 C7.7461653,13.1965148 8.74039777,14.1702962 9.2084476,15.4031529 C12.3826132,14.8889889 14.8889889,12.3826132 15.4031529,9.2084476 C13.7061383,8.56418184 12.5,6.92294527 12.5,5 C12.5,2.51471863 14.5147186,0.5 17,0.5 C19.4852814,0.5 21.5,2.51471863 21.5,5 C21.5,6.9876237 20.21136,8.6742694 18.4239706,9.27004651 C17.8472041,14.0537801 14.0537801,17.8472041 9.27004651,18.4239706 L9.27004651,18.4239706 Z M17,6.5 C17.8284271,6.5 18.5,5.82842712 18.5,5 C18.5,4.17157288 17.8284271,3.5 17,3.5 C16.1715729,3.5 15.5,4.17157288 15.5,5 C15.5,5.82842712 16.1715729,6.5 17,6.5 Z M5,18.5 C5.82842712,18.5 6.5,17.8284271 6.5,17 C6.5,16.1715729 5.82842712,15.5 5,15.5 C4.17157288,15.5 3.5,16.1715729 3.5,17 C3.5,17.8284271 4.17157288,18.5 5,18.5 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>hash_dark</title>
<desc>Created with Sketch.</desc>
<g id="hash_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="hash" transform="translate(6.000000, 5.000000)" fill="#F0F4F8" fill-rule="nonzero">
<path d="M10.9907691,15.5 L8.00923086,15.5 L7.4908256,20.1656473 C7.39934113,20.9890075 6.65771296,21.5823101 5.83435271,21.4908256 C5.01099247,21.3993411 4.41768993,20.657713 4.5091744,19.8343527 L4.99076914,15.5 L2,15.5 C1.17157288,15.5 0.5,14.8284271 0.5,14 C0.5,13.1715729 1.17157288,12.5 2,12.5 L5.32410248,12.5 L5.65743581,9.5 L2,9.5 C1.17157288,9.5 0.5,8.82842712 0.5,8 C0.5,7.17157288 1.17157288,6.5 2,6.5 L5.99076914,6.5 L6.5091744,1.83435271 C6.60065887,1.01099247 7.34228704,0.417689926 8.16564729,0.509174398 C8.98900753,0.60065887 9.58231007,1.34228704 9.4908256,2.16564729 L9.00923086,6.5 L11.9907691,6.5 L12.5091744,1.83435271 C12.6006589,1.01099247 13.342287,0.417689926 14.1656473,0.509174398 C14.9890075,0.60065887 15.5823101,1.34228704 15.4908256,2.16564729 L15.0092309,6.5 L18,6.5 C18.8284271,6.5 19.5,7.17157288 19.5,8 C19.5,8.82842712 18.8284271,9.5 18,9.5 L14.6758975,9.5 L14.3425642,12.5 L18,12.5 C18.8284271,12.5 19.5,13.1715729 19.5,14 C19.5,14.8284271 18.8284271,15.5 18,15.5 L14.0092309,15.5 L13.4908256,20.1656473 C13.3993411,20.9890075 12.657713,21.5823101 11.8343527,21.4908256 C11.0109925,21.3993411 10.4176899,20.657713 10.5091744,19.8343527 L10.9907691,15.5 Z M11.3241025,12.5 L11.6574358,9.5 L8.67589752,9.5 L8.34256419,12.5 L11.3241025,12.5 L11.3241025,12.5 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>html_dark</title>
<desc>Created with Sketch.</desc>
<g id="html_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="code" transform="translate(4.000000, 8.000000)" fill="#F0F4F8" fill-rule="nonzero">
<path d="M19.8786797,8 L14.9393398,3.06066017 C14.3535534,2.47487373 14.3535534,1.52512627 14.9393398,0.939339828 C15.5251263,0.353553391 16.4748737,0.353553391 17.0606602,0.939339828 L23.0606602,6.93933983 C23.6464466,7.52512627 23.6464466,8.47487373 23.0606602,9.06066017 L17.0606602,15.0606602 C16.4748737,15.6464466 15.5251263,15.6464466 14.9393398,15.0606602 C14.3535534,14.4748737 14.3535534,13.5251263 14.9393398,12.9393398 L19.8786797,8 Z" id="Shape"></path>
<path d="M4.12132034,8 L9.06066017,12.9393398 C9.64644661,13.5251263 9.64644661,14.4748737 9.06066017,15.0606602 C8.47487373,15.6464466 7.52512627,15.6464466 6.93933983,15.0606602 L0.939339828,9.06066017 C0.353553391,8.47487373 0.353553391,7.52512627 0.939339828,6.93933983 L6.93933983,0.939339828 C7.52512627,0.353553391 8.47487373,0.353553391 9.06066017,0.939339828 C9.64644661,1.52512627 9.64644661,2.47487373 9.06066017,3.06066017 L4.12132034,8 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>image_dark</title>
<desc>Created with Sketch.</desc>
<g id="image_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="image-(1)" transform="translate(4.000000, 4.000000)">
<path d="M3.59930712,20.2991243 L15.3307812,8.92314941 C15.9126117,8.3589502 16.8373883,8.3589502 17.4192188,8.92314941 L20.5,11.9105736 L20.5,4 C20.5,3.72385763 20.2761424,3.5 20,3.5 L4,3.5 C3.72385763,3.5 3.5,3.72385763 3.5,4 L3.5,20 C3.5,20.1121678 3.53693532,20.2157088 3.59930712,20.2991243 L3.59930712,20.2991243 Z M7.70159593,20.5 L20,20.5 C20.2761424,20.5 20.5,20.2761424 20.5,20 L20.5,16.0894264 L16.375,12.0894264 L7.70159593,20.5 Z M23.5,15.4528564 L23.5,15.4565239 L23.5,20 C23.5,21.9329966 21.9329966,23.5 20,23.5 L4.0019785,23.5 L3.99783279,23.5 C2.06583227,23.4988286 0.5,21.9322742 0.5,20 L0.5,4 C0.5,2.06700338 2.06700338,0.5 4,0.5 L20,0.5 C21.9329966,0.5 23.5,2.06700338 23.5,4 L23.5,15.4528564 L23.5,15.4528564 Z" id="Shape" fill-opacity="0.16" fill="#F0F4F8" fill-rule="nonzero"></path>
<circle id="Oval" stroke-opacity="0.16" stroke="#F0F4F8" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" cx="8.5" cy="8.5" r="1"></circle>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>info_dark</title>
<desc>Created with Sketch.</desc>
<g id="info_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="info" transform="translate(16.000000, 12.000000)"></g>
<circle id="Oval" stroke-opacity="0.16" stroke="#F0F4F8" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" cx="16" cy="16" r="10"></circle>
<circle id="Oval-2" fill-opacity="0.16" fill="#F0F4F8" fill-rule="nonzero" cx="16" cy="11.5" r="1.5"></circle>
<line x1="16" y1="20.5" x2="16" y2="16.5" id="Shape" stroke-opacity="0.16" stroke="#F0F4F8" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></line>
</g>
</svg>

After

Width:  |  Height:  |  Size: 940 B

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>lock_dark</title>
<desc>Created with Sketch.</desc>
<g id="lock_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="lock" transform="translate(5.000000, 4.000000)" fill="#F0F4F8" fill-rule="nonzero">
<path d="M4.5,9.5 L4.5,7 C4.5,3.41014913 7.41014913,0.5 11,0.5 C14.5898509,0.5 17.5,3.41014913 17.5,7 L17.5,9.5 L18,9.5 C19.9329966,9.5 21.5,11.0670034 21.5,13 L21.5,20 C21.5,21.9329966 19.9329966,23.5 18,23.5 L4,23.5 C2.06700338,23.5 0.5,21.9329966 0.5,20 L0.5,13 C0.5,11.0670034 2.06700338,9.5 4,9.5 L4.5,9.5 Z M7.5,9.5 L14.5,9.5 L14.5,7 C14.5,5.06700338 12.9329966,3.5 11,3.5 C9.06700338,3.5 7.5,5.06700338 7.5,7 L7.5,9.5 Z M4,12.5 C3.72385763,12.5 3.5,12.7238576 3.5,13 L3.5,20 C3.5,20.2761424 3.72385763,20.5 4,20.5 L18,20.5 C18.2761424,20.5 18.5,20.2761424 18.5,20 L18.5,13 C18.5,12.7238576 18.2761424,12.5 18,12.5 L4,12.5 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>package_dark</title>
<desc>Created with Sketch.</desc>
<g id="package_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="package" transform="translate(4.000000, 3.000000)" fill="#F0F4F8" fill-rule="nonzero">
<path d="M17.6864343,10.8338338 C17.6767624,10.8388014 17.6670397,10.8436627 17.6572682,10.8484169 L13.5,12.9270509 L13.5,21.5779498 L20.2225002,18.216704 C20.3924146,18.1322715 20.4998995,17.95894 20.5,17.77 L20.5,9.42705089 L17.6864393,10.8338314 L17.6864343,10.8338338 Z M7.00499694,6.17954945 L5.35909785,7.00249794 L12,10.322949 L13.645898,9.5 L7.00499694,6.17954945 L7.00499694,6.17954945 Z M10.3591011,4.50249954 L17,7.82294902 L18.640898,7.0025 L12.2213911,3.79274653 C12.0814738,3.72365004 11.9172974,3.7238288 11.7808204,3.79164079 L10.3591011,4.50249954 L10.3591011,4.50249954 Z M6.22543518,3.21523385 C6.29258063,3.17483949 6.36266116,3.13983949 6.43495272,3.11047522 L10.4425,1.10670415 C11.4236071,0.619180135 12.5763929,0.619180135 13.5575,1.10670415 L21.5574998,5.10670404 C22.7469007,5.69773156 23.499295,6.91105209 23.5,8.24 L23.5,17.770796 C23.499295,19.0989479 22.7469007,20.3122684 21.5608204,20.9016408 L13.56125,24.9014259 C12.5753561,25.3947676 11.4146439,25.3947676 10.4291796,24.9016408 L2.42503632,20.8995611 C1.23677303,20.3008318 0.490776485,19.0801102 0.499915443,17.76 L0.499915443,8.23920404 C0.50070498,6.91105209 1.25309927,5.69773156 2.43917961,5.10835921 L6.22543516,3.21523386 L6.22543518,3.21523385 Z M10.5,21.5829491 L10.5,12.9270487 L3.4999515,9.42704872 L3.4999515,17.7704389 C3.49864084,17.9605173 3.60521178,18.1349061 3.77082039,18.2183592 L10.5,21.5829491 L10.5,21.5829491 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>prettier_dark</title>
<desc>Created with Sketch.</desc>
<g id="prettier_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Group" transform="translate(5.000000, 5.000000)" fill="#F0F4F8" fill-rule="nonzero">
<rect id="Rectangle-4" fill-opacity="0.16" x="0" y="0" width="9" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy" fill-opacity="0.16" x="0" y="6" width="5" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy-4" fill-opacity="0.16" x="11" y="0" width="4" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy-5" fill-opacity="0.16" x="7" y="6" width="3" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy-10" fill-opacity="0.06" x="17" y="0" width="5" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy-12" fill-opacity="0.06" x="20" y="6" width="2" height="3" rx="1"></rect>
<rect id="Rectangle-4-Copy-13" fill-opacity="0.06" x="17" y="12" width="5" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy-11" fill-opacity="0.06" x="9" y="18" width="13" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy-8" fill-opacity="0.16" x="12" y="6" width="6" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy-2" fill-opacity="0.16" x="0" y="12" width="4" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy-6" fill-opacity="0.16" x="6" y="12" width="9" height="3" rx="1.5"></rect>
<rect id="Rectangle-4-Copy-3" fill-opacity="0.16" x="0" y="18" width="7" height="3" rx="1.5"></rect>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>settings_dark</title>
<desc>Created with Sketch.</desc>
<g id="settings_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<g id="settings" transform="translate(4.000000, 4.000000)" fill="#F0F4F8">
<path d="M12,0 C13.2049849,0 14.1818182,0.976833273 14.1818182,2.18181818 L14.1818182,2.28 C14.1846795,2.99742864 14.6133048,3.64465278 15.2727273,3.92727273 C15.9459164,4.22437795 16.7321599,4.08181732 17.2581818,3.56727273 L17.3236364,3.50181818 C17.7328762,3.09212282 18.288198,2.86192002 18.8672727,2.86192002 C19.4463475,2.86192002 20.0016693,3.09212282 20.4109091,3.50181818 C20.8206045,3.91105802 21.0508073,4.46637982 21.0508073,5.04545455 C21.0508073,5.62452927 20.8206045,6.17985108 20.4109091,6.58909091 L20.3454545,6.65454545 C19.83091,7.18056735 19.6883493,7.96681083 19.9854545,8.64 L19.9854545,8.72727273 C20.2680745,9.38669521 20.9152986,9.81532047 21.6327273,9.81818182 L21.8181818,9.81818182 C23.0231667,9.81818182 24,10.7950151 24,12 C24,13.2049849 23.0231667,14.1818182 21.8181818,14.1818182 L21.72,14.1818182 C21.0025714,14.1846795 20.3553472,14.6133048 20.0727273,15.2727273 C19.775622,15.9459164 19.9181827,16.7321599 20.4327273,17.2581818 L20.4981818,17.3236364 C20.9078772,17.7328762 21.13808,18.288198 21.13808,18.8672727 C21.13808,19.4463475 20.9078772,20.0016693 20.4981818,20.4109091 C20.088942,20.8206045 19.5336202,21.0508073 18.9545455,21.0508073 C18.3754707,21.0508073 17.8201489,20.8206045 17.4109091,20.4109091 L17.3454545,20.3454545 C16.8194327,19.83091 16.0331892,19.6883493 15.36,19.9854545 C14.7005775,20.2680745 14.2719523,20.9152986 14.2690909,21.6327273 L14.2690909,21.8181818 C14.2690909,23.0231667 13.2922576,24 12.0872727,24 C10.8822878,24 9.90545455,23.0231667 9.90545455,21.8181818 L9.90545455,21.72 C9.88817084,20.9810954 9.42095102,20.3278529 8.72727273,20.0727273 C8.05408356,19.775622 7.26784007,19.9181827 6.74181818,20.4327273 L6.67636364,20.4981818 C6.2671238,20.9078772 5.711802,21.13808 5.13272727,21.13808 C4.55365255,21.13808 3.99833074,20.9078772 3.58909091,20.4981818 C3.17939554,20.088942 2.94919275,19.5336202 2.94919275,18.9545455 C2.94919275,18.3754707 3.17939554,17.8201489 3.58909091,17.4109091 L3.65454545,17.3454545 C4.16909005,16.8194327 4.31165068,16.0331892 4.01454545,15.36 C3.73192551,14.7005775 3.08470137,14.2719523 2.36727273,14.2690909 L2.18181818,14.2690909 C0.976833273,14.2690909 0,13.2922576 0,12.0872727 C0,10.8822878 0.976833273,9.90545455 2.18181818,9.90545455 L2.28,9.90545455 C3.01890456,9.88817084 3.67214708,9.42095102 3.92727273,8.72727273 C4.22437795,8.05408356 4.08181732,7.26784007 3.56727273,6.74181818 L3.50181818,6.67636364 C3.09212282,6.2671238 2.86192002,5.711802 2.86192002,5.13272727 C2.86192002,4.55365255 3.09212282,3.99833074 3.50181818,3.58909091 C3.91105802,3.17939554 4.46637982,2.94919275 5.04545455,2.94919275 C5.62452927,2.94919275 6.17985108,3.17939554 6.58909091,3.58909091 L6.65454545,3.65454545 C7.18056735,4.16909005 7.96681083,4.31165068 8.64,4.01454545 L8.72727273,4.01454545 C9.38669521,3.73192551 9.81532047,3.08470137 9.81818182,2.36727273 L9.81818182,2.18181818 C9.81818182,0.976833273 10.7950151,0 12,0 Z M12,9 C10.3431458,9 9,10.3431458 9,12 C9,13.6568542 10.3431458,15 12,15 C13.6568542,15 15,13.6568542 15,12 C15,10.3431458 13.6568542,9 12,9 Z" id="Combined-Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59.1 (86144) - https://sketch.com -->
<title>terminal_dark</title>
<desc>Created with Sketch.</desc>
<g id="terminal_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" fill-opacity="0.16">
<path d="M9,4 L23,4 C25.7614237,4 28,6.23857625 28,9 L28,23 C28,25.7614237 25.7614237,28 23,28 L9,28 C6.23857625,28 4,25.7614237 4,23 L4,9 C4,6.23857625 6.23857625,4 9,4 Z M16.5,23 L22.5,23 C23.3284271,23 24,22.3284271 24,21.5 C24,20.6715729 23.3284271,20 22.5,20 L16.5,20 C15.6715729,20 15,20.6715729 15,21.5 C15,22.3284271 15.6715729,23 16.5,23 Z M11.4930676,15.5 L8.37888602,19.0034542 C7.828509,19.6226284 7.88428009,20.570737 8.50345424,21.121114 C9.12262839,21.671491 10.070737,21.6157199 10.621114,20.9965458 L14.621114,16.4965458 C15.1262953,15.9282167 15.1262953,15.0717833 14.621114,14.5034542 L10.621114,10.0034542 C10.070737,9.38428009 9.12262839,9.328509 8.50345424,9.87888602 C7.88428009,10.429263 7.828509,11.3773716 8.37888602,11.9965458 L11.4930676,15.5 Z" id="Shape" fill="#F0F4F8" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -342,8 +342,6 @@ pub struct LanguageConfig {
pub block_comment: Option<(Arc<str>, Arc<str>)>,
#[serde(default)]
pub overrides: HashMap<String, LanguageConfigOverride>,
#[serde(default)]
pub icon_path: Option<Arc<str>>,
}
#[derive(Debug, Default)]
@ -410,7 +408,6 @@ impl Default for LanguageConfig {
line_comment: Default::default(),
block_comment: Default::default(),
overrides: Default::default(),
icon_path: Default::default(),
}
}
}
@ -755,16 +752,6 @@ impl LanguageRegistry {
self.get_or_load_language(|config| UniCase::new(config.name.as_ref()) == name)
}
pub fn icon_for_suffix(self: &Arc<Self>, suffix: &str) -> Option<Arc<str>> {
let state = self.state.read();
state
.available_languages
.iter()
.find(|langauge| langauge.config.path_suffixes.iter().any(|s| s == suffix))
.map(|language| language.config.icon_path.clone())
.flatten()
}
pub fn language_for_name_or_extension(
self: &Arc<Self>,
string: &str,

View file

@ -2474,10 +2474,6 @@ impl Project {
})
}
pub fn icon_for_path(&self, path: &Path) -> Option<Arc<str>> {
self.languages.icon_for_suffix(path.extension()?.to_str()?)
}
fn detect_language_for_buffer(
&mut self,
buffer_handle: &ModelHandle<Buffer>,

View file

@ -10,6 +10,7 @@ doctest = false
[dependencies]
context_menu = { path = "../context_menu" }
collections = { path = "../collections" }
db = { path = "../db" }
drag_and_drop = { path = "../drag_and_drop" }
editor = { path = "../editor" }

View file

@ -0,0 +1,64 @@
use std::{path::Path, str, sync::Arc};
use collections::HashMap;
use gpui::{AppContext, AssetSource};
use serde_derive::Deserialize;
#[derive(Deserialize, Debug)]
struct TypeConfig {
icon: Arc<str>,
}
#[derive(Deserialize, Debug)]
pub struct FileAssociations {
suffixes: HashMap<String, String>,
types: HashMap<String, TypeConfig>,
}
pub const TEXT_FILE_ASSET: &'static str = "icons/file_icons/quill/file.svg";
const DIRECTORY_TYPE: &'static str = "directory";
const EXPANDED_DIRECTORY_TYPE: &'static str = "expanded_directory";
pub fn init(assets: impl AssetSource, cx: &mut AppContext) {
cx.set_global(FileAssociations::new(assets))
}
impl FileAssociations {
pub fn new(assets: impl AssetSource) -> Self {
let file = assets.load("icons/file_icons/file_types.json").unwrap();
serde_json::from_str::<FileAssociations>(str::from_utf8(&file).unwrap()).unwrap()
}
pub fn get_icon(path: &Path, cx: &AppContext) -> Option<Arc<str>> {
if !cx.has_global::<Self>() {
return None;
}
let this = cx.global::<Self>();
let suffix = path.extension()?.to_str()?;
this.suffixes
.get(suffix)
.and_then(|type_str| this.types.get(type_str))
.map(|type_config| type_config.icon.clone())
}
pub fn get_folder_icon(expanded: bool, cx: &AppContext) -> Option<Arc<str>> {
if !cx.has_global::<Self>() {
return None;
}
let this = cx.global::<Self>();
let key = if expanded {
EXPANDED_DIRECTORY_TYPE
} else {
DIRECTORY_TYPE
};
this.types
.get(key)
.map(|type_config| type_config.icon.clone())
}
}

View file

@ -1,9 +1,11 @@
mod file_associations;
mod project_panel_settings;
use context_menu::{ContextMenu, ContextMenuItem};
use db::kvp::KEY_VALUE_STORE;
use drag_and_drop::{DragAndDrop, Draggable};
use editor::{Cancel, Editor};
use file_associations::{FileAssociations, TEXT_FILE_ASSET};
use futures::stream::StreamExt;
use gpui::{
actions,
@ -15,8 +17,8 @@ use gpui::{
geometry::vector::Vector2F,
keymap_matcher::KeymapContext,
platform::{CursorStyle, MouseButton, PromptLevel},
Action, AnyElement, AppContext, AsyncAppContext, ClipboardItem, Element, Entity, ModelHandle,
Task, View, ViewContext, ViewHandle, WeakViewHandle, WindowContext,
Action, AnyElement, AppContext, AssetSource, AsyncAppContext, ClipboardItem, Element, Entity,
ModelHandle, Task, View, ViewContext, ViewHandle, WeakViewHandle, WindowContext,
};
use menu::{Confirm, SelectNext, SelectPrev};
use project::{
@ -44,7 +46,6 @@ use workspace::{
const PROJECT_PANEL_KEY: &'static str = "ProjectPanel";
const NEW_ENTRY_ID: ProjectEntryId = ProjectEntryId::MAX;
const TEXT_FILE_ASSET: &'static str = "icons/radix/file-text.svg";
pub struct ProjectPanel {
project: ModelHandle<Project>,
@ -131,8 +132,9 @@ pub fn init_settings(cx: &mut AppContext) {
settings::register::<ProjectPanelSettings>(cx);
}
pub fn init(cx: &mut AppContext) {
pub fn init(assets: impl AssetSource, cx: &mut AppContext) {
init_settings(cx);
file_associations::init(assets, cx);
cx.add_action(ProjectPanel::expand_selected_entry);
cx.add_action(ProjectPanel::collapse_selected_entry);
cx.add_action(ProjectPanel::select_prev);
@ -1184,15 +1186,12 @@ impl ProjectPanel {
let entry_range = range.start.saturating_sub(ix)..end_ix - ix;
for entry in visible_worktree_entries[entry_range].iter() {
let status = git_status_setting.then(|| entry.git_status).flatten();
let is_expanded = expanded_entry_ids.binary_search(&entry.id).is_ok();
let icon = show_file_icons
.then(|| match entry.kind {
EntryKind::File(_) => self
.project
.read(cx)
.icon_for_path(&entry.path)
EntryKind::File(_) => FileAssociations::get_icon(&entry.path, cx)
.or_else(|| Some(TEXT_FILE_ASSET.into())),
_ => None,
_ => FileAssociations::get_folder_icon(is_expanded, cx),
})
.flatten();
@ -1208,7 +1207,7 @@ impl ProjectPanel {
depth: entry.path.components().count(),
kind: entry.kind,
is_ignored: entry.is_ignored,
is_expanded: expanded_entry_ids.binary_search(&entry.id).is_ok(),
is_expanded,
is_selected: self.selection.map_or(false, |e| {
e.worktree_id == snapshot.id() && e.entry_id == entry.id
}),
@ -1271,37 +1270,35 @@ impl ProjectPanel {
.unwrap_or(style.text.color);
Flex::row()
.with_child(if kind.is_dir() {
.with_child(if let Some(icon) = &details.icon {
Svg::new(icon.to_string())
.with_color(style.icon_color)
.constrained()
.with_max_width(style.icon_size)
.with_max_height(style.icon_size)
.aligned()
.constrained()
.with_width(style.icon_size)
} else if kind.is_dir() {
if details.is_expanded {
Svg::new("icons/chevron_down_8.svg").with_color(style.icon_color)
Svg::new("icons/chevron_down_8.svg").with_color(style.chevron_color)
} else {
Svg::new("icons/chevron_right_8.svg").with_color(style.icon_color)
Svg::new("icons/chevron_right_8.svg").with_color(style.chevron_color)
}
.constrained()
.with_max_width(style.directory_icon_size)
.with_max_height(style.directory_icon_size)
.with_max_width(style.chevron_size)
.with_max_height(style.chevron_size)
.aligned()
.constrained()
.with_width(style.directory_icon_size)
.with_width(style.chevron_size)
} else {
if let Some(icon) = &details.icon {
Svg::new(icon.to_string())
.with_color(style.icon_color)
.constrained()
.with_max_width(style.file_icon_size)
.with_max_height(style.file_icon_size)
.aligned()
.constrained()
.with_width(style.file_icon_size)
} else {
Empty::new()
.constrained()
.with_max_width(style.directory_icon_size)
.with_max_height(style.directory_icon_size)
.aligned()
.constrained()
.with_width(style.directory_icon_size)
}
Empty::new()
.constrained()
.with_max_width(style.chevron_size)
.with_max_height(style.chevron_size)
.aligned()
.constrained()
.with_width(style.chevron_size)
})
.with_child(if show_editor && editor.is_some() {
ChildView::new(editor.as_ref().unwrap(), cx)
@ -2613,7 +2610,7 @@ mod tests {
theme::init((), cx);
language::init(cx);
editor::init_settings(cx);
crate::init(cx);
crate::init((), cx);
workspace::init_settings(cx);
Project::init_settings(cx);
});
@ -2628,7 +2625,7 @@ mod tests {
language::init(cx);
editor::init(cx);
pane::init(cx);
crate::init(cx);
crate::init((), cx);
workspace::init(app_state.clone(), cx);
Project::init_settings(cx);
});

View file

@ -480,9 +480,10 @@ pub struct ProjectPanelEntry {
#[serde(flatten)]
pub container: ContainerStyle,
pub text: TextStyle,
pub icon_size: f32,
pub icon_color: Color,
pub directory_icon_size: f32,
pub file_icon_size: f32,
pub chevron_color: Color,
pub chevron_size: f32,
pub icon_spacing: f32,
pub status: EntryStatus,
}

View file

@ -1,6 +1,5 @@
name = "TOML"
path_suffixes = ["toml"]
icon_path = "icons/radix/gear.svg"
line_comment = "# "
autoclose_before = ",]}"
brackets = [

View file

@ -154,7 +154,7 @@ fn main() {
file_finder::init(cx);
outline::init(cx);
project_symbols::init(cx);
project_panel::init(cx);
project_panel::init(Assets, cx);
diagnostics::init(cx);
search::init(cx);
vector_store::init(fs.clone(), http.clone(), languages.clone(), cx);

View file

@ -2334,7 +2334,7 @@ mod tests {
editor::init(cx);
project_panel::init_settings(cx);
pane::init(cx);
project_panel::init(cx);
project_panel::init((), cx);
terminal_view::init(cx);
ai::init(cx);
app_state

View file

@ -46,9 +46,10 @@ export default function project_panel(): any {
const base_properties = {
height: 22,
background: background(theme.middle),
icon_color: foreground(theme.middle, "variant"),
directory_icon_size: 7,
file_icon_size: 14,
chevron_color: foreground(theme.middle, "variant"),
icon_color: foreground(theme.middle, "active"),
chevron_size: 7,
icon_size: 14,
icon_spacing: 5,
text: text(theme.middle, "sans", "variant", { size: "sm" }),
status: {