Add:
bitshift/resources
-Add directory for bitshift's Python resources.
bitshift/resources/languages.json
-Add `json` file containing all the programming languages supported by
bitshift.
bitshift/languages.py
-Set `LANGS` by reading `languages.json`.
Add:
static/sass/index.sass
-Add style rules for `datepicker` and `typeahead` elements.
templates/index.html
-Add any class specifiers required by both libraries to their
corresponding elements.
-Add a hack-ish `script` tag containing setup for `typeahead`.
Add:
templates/index.html
-Simplify form layout: reduce the number of independent adjacent `div`s,
and position `label`s above their corresponding `input` elements.
static/sass/index.sass
-Remove now superfluous positioning rules for the previous layout.
Add:
templates/index.html
-Add compartmental `div` structure for the advanced-search form.
static/sass/index.sass
-Add layout style rules to the advanced-search form.
app.py, templates/(about, developers).html
-Add `Flask` routes and skeleton files for pages to be developed later.
Ref:
static/js/index.js
-Substitute some verbose `JavaScript` calls with their `jQuery`
equivalents.
Add:
static/js/index.js
-Add `populateResults()`, to distinguish the addition of results to
`div#results` from the retrieval of Codelets from the server itself.
-Add `clearResults()` for convenience.
static/sass/index.sass
-Add `.cascade`, to provide new `div.result` elements with a
downwards-cascading animation.
Add:
static/sass/index.sass
-Add a gradual CSS `transition` to the search-bar, when a query is
entered for the first time.
static/sass/_variables.sass
-Add bitshift's three new primary base colors.
Add:
static/js/index.js
-Add conditional to prevent a search from being triggered when a
non-character key combination (ie, `up`, `down`, `ctrl-c`) was entered.
-Add `queryServer()`, currently only for testing purposes (it populates
`div#results` with randomized content).
-Add documentation comments to all functions.
static/sass/index.sass
-Add different styling to the `#search-field` whenever results are
visible (in other words, at any point after a query has been executed).
Add:
static/js/
-Add directory for all `javascript` files.
static/js/index.js
-Add functional search-bar typing-begin and typing-end detection.
-Currently logs an appropriate message to the console in either state.
Add:
templates/index.html
-Add search bar elements.
static/sass/index.sass
-Add styling for the search entry bar.
Fix:
static/sass/main.sass
-Fix footer's styling, which lacked a `bottom: 0px` that floored it.
Add:
templates/layout.html
-Add `header`, `body`, and `footer` divs, for greater modularity and to
floor the footer.
static/sass/main.sass
-Add styling to the new footer, which is always floored to the bottom of
the page (even when an otherwise insufficient amount of content is
present).
Add:
static/sass/main.sass
-Complete `template/layout.html` positioning rules.
-Add some styling to the footer.
static/sass/_variables.sass
-Add `SASS` partial to contain all project-wide variables.
templates/index.html
-Add project-wide layout template (should've been packaged into the
previous commit).
Add:
static/sass/_mixins.sass
-Add transition classes.
static/sass/main.sass
-Add base styling for footer, center column.
templates/index.html
-Add foundation `div` tree to `body`, and footer contents.
a rule for running it in the Rakefile.
Add:
parser_server.rb:
- listens for connections from the python client process
parser.rb:
- creates a syntax tree from the input and returns relevant data
about it to the client
Mod:
Parser.java:
- Moved client reading and writing methods to the abstract
parser class, so that it is not specific to the JavaParser
JavaParser.java:
- Implemented NodeVisitor._cache. The cache is a stack of data
packets. When a node that we want information on is first
visited, a new packet of data is pushed onto the stack. The
child nodes of that original node than add information to the
packet, and when the original node is traversed again on the
way up the tree, the data is popped from the cache and added
to the symbols. This makes it possible to gather information
about various levels of the tree easily.
JavaSymbols.java:
- Refactor all the insertMethods to simply add a packet of data
to the appropriate HashMap.
Symbols.java
- Add a createCoord method which returns an arraylist
representing a point in a document.
Parse.java:
Added comments
JavaParser.java:
Updated the genSymbols method and a private class 'NodeVisitor' which
implements ASTVisitor. genSymbols returns an instance of the
Symbols class containing all relevant data about the Java code.
JavaSymbols.java:
Add fields which map class, interface, method, field, and
variable names to positions.
Add:
c.py
- CTreeCutter class is very similar to PyTreeCutter. It utilizes
self.cache as opposed to PyTreeCutter which doesn't yet.
- CTreeCutter visit functions simply add start and end lines of
the node to the cache, and visit_Decl pushes the cache onto
accum.
- parse_c performs a task identical to parse_py. However, many
c files need to be pre-processed before they are parsed.