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.
Add:
bitshift/crawler/crawler.py
-Add more efficient method of querying GitHub's API for stargazer
counts, by batching 25 repositories per request.
-Add watcher counts for Bitbucket repositories, by querying the
Bitbucket API once per repository (inefficient, but the API in question
isn't sufficiently robust to accommodate a better approach, and Git
repositories surface so infrequently that there shouldn't be any query
limit problems).
Several of the closed issues were addressed partly in previous commits;
definitively close them with this, for the moment, final update to the crawler
package.
Ref:
bitshift/crawler/indexer.py
-move all `GitIndexer` specific functions (eg, `_decode`,
`_is_ascii()`)from the global scope to the class definition.
Add:
bitshift/
__init__.py
-add `_configure_logging()`, which sets up a more robust logging
infrastructure than was previously used: log files are rotated once
per hour, and have some additional formatting rules.
(crawler, indexer).py
-add hierarchically-descending loggers to individual threaded
classes (`GitHubCrawler`, `GitIndexer`, etc.); add logging calls.
indexer.py
-remove file filtering regex matches from `_get_tracked_files()`,
as non-code files will be discarded by the parsers.
Add:
bitshift/crawler/crawler.py
-add `_get_repo_stars()` to `GitHubCrawler`, which queries the GitHub
API for the number of a stars that a given repository has.
-log the `next_api_url` every time it's generated by `GitHubCrawler` and
`BitbucketCrawler` to two respective log-files.