Code Monkey home page Code Monkey logo

hamlbars's Introduction

Hamlbars

Sublime Text 3 syntax definitions and auto-completions for .hamlbars files.

Installation

  1. Open the command palette. (ctrl+shift+p or command+shift+p)
  2. Type "install" and choose Package Control: Install Package
  3. Type "Hamlbars" and select the package by Greplytix.

Manually

Clone this repository into one of the following directories:

OS X: ~/Library/Application Support/Sublime Text 3/Packages/User

Windows: %APPDATA%/Roaming/Sublime Text 3/Packages/User

Linux: ~/.config/sublime-text-3/Packages/User

Trouble-shooting:

If .hamlbar files are not being automatically associated with the Hamlbars language:

  1. While viewing a .hamlbars file
  2. Go to the bottom-right language switcher.
  3. Go to sub-menu "Open all with current extension as...".
  4. Select Hamlbars.

Development Pipeline

Contributors, when updating the syntax definitions, please transcompile the Hamlbars.tmLanguage.YAML (YAML) file to the Hamlbars.tmLanguage (plist) file via SerializedDataConverter.

Credits

This package has been adapted from Handlebars by Daniel Demmel, which was adapted from Nicholas Westlake's Handlebars package, and has been combined with built-in Sublime Text 3 support for Haml.

License

(The MIT License)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

hamlbars's People

Contributors

picchietti avatar abandimh01 avatar jjviscomi avatar anthonykulis avatar

Stargazers

 avatar  avatar

Watchers

 avatar James Cloos avatar  avatar Christopher Dimoulis avatar

hamlbars's Issues

Sublime Text resources

@reesington I thought you should just make sure you are familiar with https://sublime.wbond.net/ since I want this project listed on it. Also here is a free course, I recommend everyone on your team go through the tutorials, it uses ST2 but everything still applies in ST3 http://code.tutsplus.com/articles/perfect-workflow-in-sublime-text-free-course--net-27293 . I think it is a good idea to be an expert at using an editor, it saves time and it is probably a good idea since this is what you will be developing in!

Test Syntax Definitions Against Hamlbars Code

Be mindful that the tab completions and other features from Handlebars should be tested as well, as our package is effectively a fork of that one.

Please report back with any problems and/or suggested additions/changes to existing regex.

Research Haml

What is Haml? Why and how is it used? Does it have any dependencies we should know about? How is Haml currently supported, in terms of syntax highlighting or other features, in Sublime Text 3?

What existing works are there

Just curious to see what open source plugins exist related to this topic. This includes variants that do not solve our problem but may provide insights to solving it, e.g., a handlebars plugin. Compile a list with pros and cons about plugins. Remember, we can leverage other open source plugins to minimize our future work, so make sure to read their source. Is it set up such a way that if we were to leverage their plugin? If so, how, if not, and it is a good plugin, what work would it take to port it over? These are things I seek.

Convert Hamlbars.tmLanguage plist to JSON or YAML

Find a converter for this -- there's probably a Sublime Text 3 plugin for this exact purpose. Convert the plist to JSON or YAML (don't delete the existing plist, and preferably to YAML for comment support).

Then, convert it back into plist and see if it works. If so, we'll then use the JSON or YAML for development purposes.

Fork Handlebars Library

The ideal Handlebars syntax definition code to be used is contained here. It is to be forked into a new branch.

Push general practice with Python to a repo

Completion of this task will also imply quintessential practice with Sublime Text 3 and Git via a shell.

All student members of @greplytix/siuc should update their respective status on this issue up to and including completion of the task.

The members of said team have been invited to a collaborate on a private repo for practice.

Create a file, commit, and merge it

@JonLegacy To make sure you have a grip on this, I need to branch master, create, add, commit a file named after you, and then merge it back into master. Be sure to clean up your branches when done. Please do this via the shell. We will get into using the app later.

How is syntax highlighting accomplished in Sublime Text 3?

Can the highlighting be extended in ST3? If so, what is the general means of doing so? What is the process of distributing such extensions? What is the best language for the job? Do regular expressions play a pivotal role here? Are there existing open source extensions like this that can be leveraged for this purpose?

What language constructs are available

This question may be outstanding for a bit. Lets make the assumption the preferred language is python although its doesn't really matter. Is it best to go with a single event loop concept, a mutli-threaded, etc? Is it going to be a state machine? Are we going to keep a cached version of the page or read it on every keystroke, matched keystroke, etc? Think about what is the best way to handle this. Make sure when reviewing other plugins this is in the back of your mind.

Is python the only language allowed?

I brought up python, but that was from a 30 second search. Is python the correct language? Is it the only language? If not, is it the best language for the job? Why?

Research Handlebars

What is Handlebars? Why and how is it used? What are its dependencies, if any? What is the current support for it in Sublime Text 3, if any? Can we leverage existing support for our project?

Final Review

Ensure that project is satisfactory to release. Pay close attention to how syntax highlighting degrades as it is edited, scope naming conventions, all requested features are added, lack of redundancy, etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.