{
	"folders":
	[
		{
			"path": "..\\..\\"
		}
	],
	"settings":
	{
		// Plugins that are nice to have but does not require any project specific settings:
		// PackageControl (https://packagecontrol.io/installation) Practically mandatory if you indend to install plugins
		// EditorConfig (https://github.com/sindresorhus/editorconfig-sublime) Automatically apply the default MySensors file encoding and settings
		// DoxyDoxygen (https://github.com/20Tauri/DoxyDoxygen) Helps writig Doxygen tags and allows to generate documentation
		// BracketHighlighter (https://github.com/facelessuser/BracketHighlighter) Highlights any type of brackets and provides easy navigation between them
		// GitGutter (https://github.com/jisaacks/GitGutter) Provides access to file diffs through the gutter area
		// OpenInclude (https://github.com/titoBouzout/Open-Include) Allows opening header files found in project without having to look them up
		// SideBarEnhancements (https://github.com/SideBarEnhancements-org/SideBarEnhancements) Enhances the sidebar
		// SyncedSideBar (https://github.com/TheSpyder/SyncedSideBar) Syncs the sidebar to the currently opened file

		// EasyClangComplete is a clang based plugin that provides autocompletion features.
		// Installation instructions is available here: https://github.com/niosus/EasyClangComplete

		// MySensors core library uses some coding style rules. Artistic Style can be used to format the code according to these rules
		// The below settings enable automatic formatting of the code upon saving in Sublime Text
		// Artistic Style is avaliable here: http://astyle.sourceforge.net
		// The plugin is available here: https://github.com/timonwong/SublimeAStyleFormatter
		// The coding style is documented here: https://www.mysensors.org/download/contributing
		"AStyleFormatter":
		{
			"debug": false,
			"autoformat_on_save": true,
			"options_c":
			{
				"additional_options_file": "$project_path/../../.mystools/astyle/config/style.cfg",
				"use_only_additional_options": true
			},
			"options_c++":
			{
				"additional_options_file": "$project_path/../../.mystools/astyle/config/style.cfg",
				"use_only_additional_options": true
			},
		},
		"rulers": [100],
	},
	// MySensors core library uses cppcheck to do static code analysis.
	// The below settings enable cppcheck as a linter for automatic code analysis during development.
	// cppcheck is avaliable here: http://cppcheck.sourceforge.net
	// The plugin is available here: https://github.com/SublimeLinter/SublimeLinter-cppcheck
	// The framework for the plugin is available here: https://sublimelinter.readthedocs.io/en/latest/installation.html
	"SublimeLinter":
	{
		"linters":
		{
			"cppcheck":
			{
				"@disable": false,
				"args": ["--force", "--library=avr",
				         "--suppressions-list=$project_path/../../.mystools/cppcheck/config/suppressions.cfg",
				         "-I$project_path/../../", "-I$project_path/../../core",
				         // Arduino IDE hardware location might differ on your system...
				         "-I$project_path/../../../../../Apps/arduino/hardware/tools/avr/avr/include",
				         "-DCPPCHECK", "--language=c++", "--inline-suppr"],
				"enable": "style,information",
				"excludes": [],
				"std": []
			},
		}
	},

	// The project defines build targets for all Arduino based boards supported by MySensors.
	// The plugin needed to do the build (which require the Arduino IDE to be installed) is
	// available here: https://github.com/jacobrosenthal/arduino-cli
	// You also need to make sure you set up sketch book paths properly and that you can
	// build sketches and examples for the MySensors library in the IDE.
	"build_systems":
	[
		{
			"name": "MySensors",
			"file_regex": "^(?'filename'.*.ino).*$",
			"line_regex": "^.*:(?'line number'[0-9]+)(: )(?'error message'.*)$",
			"selector": "source.arduino",
			"shell": true,
			"target": "arduinocli",
			"variants":
			[
				{
					"cmd": ["--board","MySensors:samd:mysensors_gw_native","--verify","$file"],
					"name": "just build (SenseBenderGW)"
				},
				{
					"cmd": ["--board","MySensors:samd:mysensors_gw_native","--upload","$file"],
					"name": "build and upload (SenseBenderGW)"
				},
				{
					"cmd": ["--board","MySensors:avr:MysensorsMicro:cpu=8Mhz","--verify","$file"],
					"name": "just build (SenseBenderMicro 8Mhz)"
				},
				{
					"cmd": ["--board","MySensors:avr:MysensorsMicro:cpu=8Mhz","--upload","$file"],
					"name": "build and upload (SenseBenderMicro 8Mhz)"
				},
				{
					"cmd": ["--board","MySensors:avr:MysensorsMicro:cpu=1Mhz","--verify","$file"],
					"name": "just build (SenseBenderMicro 1Mhz)"
				},
				{
					"cmd": ["--board","MySensors:avr:MysensorsMicro:cpu=1Mhz","--upload","$file"],
					"name": "build and upload (SenseBenderMicro 1Mhz)"
				},
				{
					"cmd": ["--board","arduino:avr:pro:cpu=8MHzatmega328","--verify","$file"],
					"name": "just build (ArduinoProMini 3.3V)"
				},
				{
					"cmd": ["--board","arduino:avr:pro:cpu=8MHzatmega328","--upload","$file"],
					"name": "build and upload (ArduinoProMini 3.3V)"
				},
				{
					"cmd": ["--board","arduino:avr:pro:cpu=16MHzatmega328","--verify","$file"],
					"name": "just build (ArduinoProMini 5V)"
				},
				{
					"cmd": ["--board","arduino:avr:pro:cpu=16MHzatmega328","--upload","$file"],
					"name": "build and upload (ArduinoProMini 5V)"
				},
				{
					"cmd": ["--board","arduino:avr:nano:cpu=atmega328","--verify","$file"],
					"name": "just build (ArduinoNano)"
				},
				{
					"cmd": ["--board","arduino:avr:nano:cpu=atmega328","--upload","$file"],
					"name": "build and upload (ArduinoNano)"
				},
				{
					"cmd": ["--board","arduino:avr:uno","--verify","$file"],
					"name": "just build (ArduinoUno)"
				},
				{
					"cmd": ["--board","arduino:avr:uno","--upload","$file"],
					"name": "build and upload (ArduinoUno)"
				},
				{
					"cmd": ["--board","arduino:avr:mega:cpu=atmega2560","--verify","$file"],
					"name": "just build (ArduinoMega)"
				},
				{
					"cmd": ["--board","arduino:avr:mega:cpu=atmega2560","--upload","$file"],
					"name": "build and upload (ArduinoMega)"
				},
				{
					"cmd": ["--board","esp8266:esp8266:generic:CpuFrequency=80,FlashFreq=40,FlashMode=dio,UploadSpeed=115200,FlashSize=512K64,ResetMethod=ck,Debug=Disabled,DebugLevel=None____","--verify","$file"],
					"name": "just build (ESP8266)"
				},
				{
					"cmd": ["--board","esp8266:esp8266:generic:CpuFrequency=80,FlashFreq=40,FlashMode=dio,UploadSpeed=115200,FlashSize=512K64,ResetMethod=ck,Debug=Disabled,DebugLevel=None____","--upload","$file"],
					"name": "build and upload (ESP8266)"
				},
			]
		}
	],
}
