Coder Social home page Coder Social logo

coast's Introduction

https://cloud.githubusercontent.com/assets/5716520/24838296/a9cf5f04-1d45-11e7-855c-47b816ce1e09.png

"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." โ€• John F. Woods


Linux Build Status Windows Build status macOS Build Status codecov.io Documentation Status AGPL OpenHub


coala provides a unified interface for linting and fixing code with a single configuration file, regardless of the programming languages used. You can use coala from within your favorite editor, integrate it with your CI, get the results as JSON, or customize it to your needs with its flexible configuration syntax.

coala supports popular programming languages including Python, C/C++, Java, JavaScript, CSS, and several others out of the box.

Install coala | Get Involved | Chat | Roadmap | Blog | Twitter

coast's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coast's Issues

Add styling to the site

We need to add some design to the site generated to make it look more beautiful.

coala uses materialize css for designing the webpages. You can find some inspiration in the other repos which render html pages.

Add Travis CI to run latest coala

The repository has a .coafile, and GitMate does check it, but it is better to have Travis CI also checking it.

It needs to use the latest coala, from git

Add antlr language .g4

The keywords for both the versions are same and there is just a change of extensions where the newer version automatically constructs the parse tree.
So i will be sending PR on this, if its okay.

Netlify is failing

Netlify has been failing due to some inconsistencies in the Language file.
The problem as I read the logs are in the file

  1. Pascal.yaml - Datatypes haven't been created
  2. VisualBasic.yaml - A non string value present in the keywords.

The logs:

  1. https://app.netlify.com/sites/coast/deploys/5bf80b4d9a063f48ba6cb4c6
  2. https://app.netlify.com/sites/coast/deploys/5bfea5fa05c41723bdd7edc0

The error messages:

These messages occur after one of them fixed. I mean they occur one after another

WARNING Non-string values found in array (field: keywords, instance: Pascal, model: Language): True

ERROR	Error: Failed to build project. Run Statik in verbose mode (-v) to see additional traceback information about this error. (in file "/opt/build/repo/data/Language/Pascal.yaml"). Additional error detail: '1' is not in list
WARNING	Non-string values found in array (field: keywords, instance: VisualBasic, model: Language): True

ERROR	Error: Failed to build project. Run Statik in verbose mode (-v) to see additional traceback information about this error. (in file "/opt/build/repo/data/Language/VisualBasic.yaml"). Additional error detail: '1' is not in list

Netlify failing on pip install

9:08:24 PM: Finished restoring cached pip cache
9:08:24 PM: Collecting git+https://github.com/thanethomson/statik (from -r requirements.txt (line 1))
9:08:24 PM:   Cloning https://github.com/thanethomson/statik to /tmp/pip-req-build-j8yeyb_j
9:08:25 PM:     Complete output from command python setup.py egg_info:
9:08:25 PM:     error in statik setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "'+https:/'"

Add .coafile

This needs a .coafile checking the yaml and templates.

Remove duplicate datatype files

There are some datatype files which are present, for example, long_java and long_d.

They should be removed, since duplicates are generally not required.

The new names of datatypes should allow it to be clearly differentiated from others and should be related to the concerned datatype.

AST vs CST

It is hard to auto-fix code if you only have an AST. Vital information has been dropped.
Also many of the generic bears rely on information typically not present in an AST.

Do you actually want a universal CST also?

Fix Documentation Error in _all.yml

The word currently has been repeated twice on line 10 of the file _all.yml

# 'block' currently currently implies a new 'scope', however we may need to

Label:- difficulty/newcomer

Remove `:` after a delimter section in Language file

Import languages from Pygments

Create a script, any language, which must be checked into /tools/ in this repo and be run in Travis CI, which creates data files for any languages that are in Pygments but are missing from coAST.

This would replace coala/coala#4556 .

Try to include as much information from Linguist as possible, enhancing the local schema as needed.

a relevant WIP is coala/coala#3162

Note the hard part of this is merging language versions to avoid essentially duplicate languages. See some of the logic from .misc/pygments_coalang_import.py in that WIP .

The role of keywords

keywords is covering too much things: statements, expressions(including operators), types etc.
I suggest to split them into several pieces like the delimiters.

README.md: Update grammar at line 97

Under Phase 4, it says:
For avoid these influences causing incorrect design decisions in coAST ...

For avoid doesn't look quite right and hence is to be updated.

A good newcomer issue.

Grammar file produces a hyperlink even when no value is given to it in the Language files

Grammer file produces a hyperlink to the respective grammar files when we provide the entry to it in the language file.

Example:- C.yaml
grammar_file: https://github.com/antlr/grammars-v4/blob/master/c/C.g4

After the site is deployed, the results are rendered as: https://coast.netlify.com/c/
As you see here a hyperlink is produced for the grammar file.

But

When the grammar file field is empty or not mentioned in the language file such as Bash.yaml or Swift.yaml where the grammar file is not present.

When these files get rendered, they display the text None which hyperlinks to a page which do not exist.

Grammar File None

This needs to be fixed. Instead of showing None with a hyperlink. It should only show None without any hyperlinks.

label: difficulty/low

Strange build failure

Strange build failure. Rebuilding without cache solved it...

8:32:21 PM: --- Logging error ---
8:32:21 PM: Traceback (most recent call last):
8:32:21 PM:   File "/usr/lib/python3.6/logging/__init__.py", line 997, in emit
8:32:21 PM:     self.flush()
8:32:21 PM:   File "/usr/lib/python3.6/logging/__init__.py", line 977, in flush
8:32:21 PM:     self.stream.flush()
8:32:21 PM: BlockingIOError: [Errno 11] write could not complete without blocking
8:32:21 PM: Call stack:
8:32:21 PM:   File "/opt/buildhome/python3.6/bin/statik", line 11, in <module>
8:32:21 PM:     sys.exit(main())
8:32:21 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/cmdline.py", line 211, in main
8:32:21 PM:     error_context=error_context
8:32:21 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/generator.py", line 15, in generate
8:32:21 PM:     return project.generate(output_path=output_path, in_memory=in_memory)
8:32:21 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/project.py", line 148, in generate
8:32:21 PM:     self.db.shutdown()
8:32:21 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 374, in shutdown
8:32:21 PM:     clear_tracked_globals()
8:32:21 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 61, in clear_tracked_globals
8:32:21 PM:     logger.debug('Clearing tracked global: %s' % name)
8:32:21 PM: Message: 'Clearing tracked global: FileExtensionLanguage'
8:32:21 PM: Arguments: ()
8:32:21 PM: 2018-10-27 13:32:12,866	statik.database	DEBUG	Clearing tracked global: Keyword
8:32:21 PM: --- Logging error ---
8:32:21 PM: Traceback (most recent call last):
8:32:21 PM:   File "/usr/lib/python3.6/logging/__init__.py", line 997, in emit
8:32:21 PM:     self.flush()
8:32:21 PM:   File "/usr/lib/python3.6/logging/__init__.py", line 977, in flush
8:32:21 PM:     self
8:32:21 PM: .stream.flush()
8:32:21 PM: BlockingIOError: [Errno 11] write could not complete without blocking
8:32:22 PM: Call stack:
8:32:22 PM:   File "/opt/buildhome/python3.6/bin/statik", line 11, in <module>
8:32:22 PM:     sys.exit(main())
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/cmdline.py", line 211, in main
8:32:22 PM:     error_context=error_context
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/generator.py", line 15, in generate
8:32:22 PM:     return project.generate(output_path=output_path, in_memory=in_memory)
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/project.py", line 148, in generate
8:32:22 PM:     self.db.shutdown()
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 374, in shutdown
8:32:22 PM:     clear_tracked_globals()
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 61, in clear_tracked_globals
8:32:22 PM:     logger.debug('Clearing tracked global: %s' % name)
8:32:22 PM: Message: 'Clearing tracked global: Keyword'
8:32:22 PM: Arguments: ()
8:32:22 PM: 2018-10-27 13:32:12,866	statik.database	DEBUG	Clearing tracked global: AliasLanguage
8:32:22 PM: --- Logging error ---
8:32:22 PM: Traceback (most recent call last):
8:32:22 PM:   File "/usr/lib/python3.6/logging/__init__.py", line 997, in emit
8:32:22 PM:     self.flush()
8:32:22 PM:   File "/usr/lib/python3.6/logging/__init__.py", line 977, in flush
8:32:22 PM:     self.stream.flush()
8:32:22 PM: BlockingIOError: [Errno 11] write could not complete without blocking
8:32:22 PM: Call stack:
8:32:22 PM:   File "/opt/buildhome/python3.6/bin/statik", line 11, in <module>
8:32:22 PM:     sys.exit(main())
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/cmdline.py", line 211, in main
8:32:22 PM:     error_context=error_context
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/generator.py", line 15, in generate
8:32:22 PM:     return project.generate(output_path=output_path, in_memory=in_memory)
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/project.py", line 148, in generate
8:32:22 PM:     self.db.shutdown()
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 374, in shutdown
8:32:22 PM:     clear_tracked_globals()
8:32:22 PM:   File "/opt/buildhome/python3.6/lib/python3.6/site-packages/statik/database.py", line 61, in clear_tracked_globals
8:32:22 PM:     logger.debug('Clearing tracked global: %s' % name)
8:32:22 PM: Message: 'Clearing tracked global: AliasLanguage'
8:32:22 PM: Arguments: ()
8:32:22 PM: 2018-10-27 13:32:12,867	statik.database	DEBUG	Clearing tracked global: Alias
8:32:22 PM: --- Logging error ---
8:32:22 PM: Traceback (most recent call last):
8:32:22 PM:   File "/usr/lib/python3.6/logging/__init__.py", linCaching artifacts

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.