Skip to content
This repository was archived by the owner on May 31, 2021. It is now read-only.

Commit 95473f1

Browse files
Rusty Keyhudochenkov
authored andcommitted
Add support for postcss-sorting.json config files (#11)
1 parent 54a98df commit 95473f1

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

PostCSSSorting.py

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import sublime_plugin
33
import json
44
from os.path import dirname, realpath, join, basename, splitext
5+
from os import path
56

67
try:
78
# Python 2
@@ -14,14 +15,36 @@
1415
sublime.Region.__iter__ = lambda self: self.totuple().__iter__()
1516

1617
BIN_PATH = join(sublime.packages_path(), dirname(realpath(__file__)), 'sorting.js')
18+
CONFIG_NAMES = ['.postcss-sorting.json', 'postcss-sorting.json']
1719

18-
def get_setting(view, key):
20+
def local_postcss_settings():
21+
for folder in sublime.active_window().project_data()['folders']:
22+
for config_name in CONFIG_NAMES:
23+
config_file = join(folder['path'], config_name)
24+
if path.isfile(config_file):
25+
with open(config_file) as data_file:
26+
return json.load(data_file)
27+
28+
return {}
29+
30+
def sublime_project_settings(view):
1931
settings = view.settings().get('PostCSSSorting')
2032

2133
if settings is None:
22-
settings = sublime.load_settings('PostCSSSorting.sublime-settings')
34+
settings = {}
35+
36+
return settings
37+
38+
def get_setting(view, key):
39+
setting = local_postcss_settings().get(key)
40+
41+
if setting is None:
42+
setting = sublime_project_settings(view).get(key)
43+
44+
if setting is None:
45+
setting = sublime.load_settings('PostCSSSorting.sublime-settings').get(key)
2346

24-
return settings.get(key)
47+
return setting
2548

2649
def is_supported_syntax(view):
2750
syntax = splitext(basename(view.settings().get('syntax')))[0]

0 commit comments

Comments
 (0)