PKS4=,11Duplicate Line.sublime-macroexpandSelectionTo line copy moveTo hardeol paste PKS4=zKllUnityTestFail.sublime-snippet New Unit Test Method (fail) testf source.c, source.c++ PKS4= OpenCeedlingFile.pyimport sublime import sublimeplugin import re class OpenCeedlingFileCommand(sublimeplugin.TextCommand): def run(self, view, args): self.views = [] current_file_path = view.fileName() window = view.window() option = args[0] if option == 'config': config_matcher = re.compile(r"(\\\\)?(project|test)\.yml$") self.open_project_file(config_matcher, window) elif re.search(r"\w+\.[ch]\w*$", current_file_path): current_file = re.search(r"([\w\.]+)$", current_file_path).group(1) base_name = re.search(r"(\w+)\.(\w+)$", current_file).group(1) base_name = re.sub('^test_', '', base_name) source_matcher = re.compile("\\\\" + base_name + "\.c$") header_matcher = re.compile("\\\\" + base_name + "\.h$") test_matcher = re.compile("\\\\test_" + base_name + "\.c$") if option == 'next': if re.match("test_", current_file): self.open_project_file(source_matcher, window) elif re.search(r"\.c", current_file): self.open_project_file(header_matcher, window) elif re.search(r"\.h", current_file): self.open_project_file(test_matcher, window) elif option == 'source': self.open_project_file(source_matcher, window) elif option == 'test': self.open_project_file(test_matcher, window) elif option == 'header': self.open_project_file(header_matcher, window) elif option == 'test_and_source': window.runCommand('layoutDoubleVert') self.open_project_file(test_matcher, window, 0) self.open_project_file(source_matcher, window, 1) for v in self.views: window.focusView(v) def open_project_file(self, file_matcher, window, auto_set_view=-1): proj_files = window.project().mountPoints()[0]['files'] for f in proj_files: if file_matcher.search(f): file_view = window.openFile(f) if auto_set_view >= 0: # don't set the view unless specified window.setViewPosition(file_view, auto_set_view, 0) self.views.append(file_view) print("Opened " + f) PKS4=`6Vy UnityAssertFalse.sublime-snippet TEST_ASSERT_FALSE af source.c, source.c++ PKS4=CMockExpect.sublime-snippet CMock Expect e source.c, source.c++ PKS4=OOUnityTest.sublime-snippet New Unit Test Method test source.c, source.c++ PKS4=~&UnityAssertEqualMemory.sublime-snippet TEST_ASSERT_EQUAL_MEMORY am source.c, source.c++ PKS4=KFCreateCeedlingModule.pyimport sublime, sublimeplugin import functools import subprocess import re class CreateCeedlingModuleCommand(sublimeplugin.TextCommand): def run(self, view, args): window = view.window() current_file_path = view.fileName() # subpaths = re.split(r"[\\\/]", current_file_path) # print(subpaths) window.showInputPanel("Enter module path", current_file_path, functools.partial(self.onDone, view), None, None) # cmd = "rake paths:source" # print cmd # p = subprocess.Popen(cmd, shell=True, bufsize=65536, stdout=subprocess.PIPE) # p.wait() # lines = p.stdout.read().split("\n - ")[1:] # for line in lines: # print(line) # def onChange(self, view, text): # todo: tab completion def onDone(self, view, text): window = view.window() sublime.statusMessage("Creating module: " + text) cmd = "rake module:create[" + text + "]" window.runCommand("exec", ["^(...*?):([0-9]*):?([0-9]*)", cmd]) window.runCommand("scanProject") sublime.statusMessage("Created module: " + text)PKS4=KX^^ README.txt## Ceedling - Ruby/Rake-Based Build System for C Projects [Ceedling](http://ceedling.sourceforge.net) is a build system for C projects that is an extension for Ruby's Rake (make-ish) build system. Ceedling is primarily targeted at Test-Driven Development in C and is designed to pull together [CMock](http://cmock.sourceforge.net) and [Unity](http://embunity.sourceforge.net), two other awesome open-source projects that you can't live without if you are doing TDD in the C language. In order to spread the awesomeness around, Ceedling is an extensible contraption with a nice plugin mechanism. Learn more about Ceedling and get it [NOW](http://ceedling.sourceforge.net)! ## Dependencies * [Ruby](http://www.ruby-lang.org) - Another great scripting language (other than Python, that Sublime uses) * [Rake](http://rake.rubyforge.org/) - Ruby-based build system derived from the archaic Make project * [Ceedling](http://ceedling.sourceforge.net) - Ruby library that adds plenty o' goodness for TDD in C The Ceedling package assumes that the project you are editing has Ceedling ## History * Initial package population * Added ablity to create a module by specifying the module path in the input panel * Added support for Klocwork static analysis * Fixed bug in open module files that prevented the appropriate buffers from getting focus occassionallyPKS4= xxUnityTestIgnore.sublime-snippet New Unit Test Method (ignore) testi source.c, source.c++ PKS4=DcUnityIgnore.sublime-snippet TEST_ASSERT_TRUE ig source.c, source.c++ PKS4=zz UnityAssertEqual.sublime-snippet TEST_ASSERT_EQUAL ae source.c, source.c++ PKS4=C]eeCeedling.sublime-buildbuild cd $ProjectDir && rake bullseye:$FileName lineNumberRegex ^\"?(...*?)\"?[:,]([0-9]*):?([0-9]*) PKS4=G(#UnityAssertEqualHex.sublime-snippet TEST_ASSERT_EQUAL_HEX ah source.c, source.c++ PKS4=^k++Ceedling.package-menu PKS4=_%g$CMockExpectAndReturn.sublime-snippet CMock ExpectAndReturn er source.c, source.c++ PKS4=E Default.sublime-keymap ` PKS4=wUnityAssertTrue.sublime-snippet TEST_ASSERT_TRUE at source.c, source.c++ PKS4=yy RhapsodyFunction.sublime-snippet New Function ala Rhapsody in C rfunc source.c, source.c++ PKS4=,11Duplicate Line.sublime-macroPKS4=zKllkUnityTestFail.sublime-snippetPKS4= OpenCeedlingFile.pyPKS4=`6Vy  UnityAssertFalse.sublime-snippetPKS4= CMockExpect.sublime-snippetPKS4=OOUnityTest.sublime-snippetPKS4=~&UnityAssertEqualMemory.sublime-snippetPKS4=KFCreateCeedlingModule.pyPKS4=KX^^ README.txtPKS4= xx_UnityTestIgnore.sublime-snippetPKS4=DcUnityIgnore.sublime-snippetPKS4=zz UnityAssertEqual.sublime-snippetPKS4=C]eeCeedling.sublime-buildPKS4=G(#UnityAssertEqualHex.sublime-snippetPKS4=^k++ Ceedling.package-menuPKS4=_%g$2/CMockExpectAndReturn.sublime-snippetPKS4=E E0Default.sublime-keymapPKS4=w,?UnityAssertTrue.sublime-snippetPKS4=yy 4@RhapsodyFunction.sublime-snippetPKrA