Giter Club home page Giter Club logo

ninja-ide's Introduction

Ninja-IDE Is Not Just Another IDE

Linux Tests PRs Welcome

Ninja-IDE is a cross-platform integrated development environment (IDE) that allows developers to create applications for any purpose making the task of writing software easier and more enjoyable. It's also a secret ninja agency but this doesn't matter right now.

Ninja-IDE logo

Requirements

On any system you want Ninja-IDE, you'll need to have this dependencies installed:

Cloning and Running

You can clone this repo and simply execute:

$ git clone git://github.com/ninja-ide/ninja-ide.git
$ cd ninja-ide
$ pip install -r requirements.txt
$ python ninja-ide.py

Piece of cake, huh?

Ninja contact

Feedback

Videos

Ninja-IDE Videos and Screencasts

Contributing

If you are interested in fixing issues and contributing directly to the code base, please see the document How to Contribute.

License

  • GPLv3+ (GPLv3 or any other later version published by FSF at your option)

ninja-ide's People

Contributors

arlsr avatar barongello avatar carpincho avatar centaurialpha avatar cinelli avatar diegosarmentero avatar eamanu avatar edvm avatar emilioramirez avatar ericho avatar eteq avatar fjcapdevila avatar irvingprog avatar j0hn avatar jefperito avatar jmg avatar juancarlospaco avatar krnekhelesh avatar malderete avatar matiasherranz avatar matthewwest avatar netantho avatar noelkd avatar osscca avatar pmourelle avatar rdoursenaud avatar sevu avatar shuhaowu avatar siecje avatar williamhallatt avatar

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  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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ninja-ide's Issues

Ninja-IDE Version 2.0 failed to install.

I downloaded version 2.0 and it installed OK but failed to shown up in the relevant desktop menu. I tried to launch it from Alt+F2 but nothing happened. Fired up a terminal and tried to start it from there and got a series of error message(s).

I removed it and installed the previous Ubuntu/Debian version. It installed OK with Gdebi but failed to show up in the relevant Fluxbox desktop menu. Did a whereis in the terminal and discovered in was in /usr/share/ninja-ide and was able to launch it from there.

Sorry I can't list the terminal output when Version 2.0. failed as it omitted to copy/paste it before I unistalled it and installed the previous version instead.

I am now running Ninja-IDE on Ubuntu (11.04) on the Fluxbox desktop.

Crash on calling unexisting python version

If the 'Preferences -> General -> Execution -> Python Path' is filled with unexisting version of python (command)
eg. 'python3.2' instead of 'python' it crashed after few seconds.

Errors SideBar Thingy dont update Line Indicator

Load a .PY file with PEP8 Errors,
use the Ninja IDE PEP8 Errors SideBar which indicates the Line of the Error,
for example... like 2 statements on the same line (semicolon),
fix the Error (you add a new line below pre-existing lines),
click the Ninja IDE PEP8 Errors SideBar, it indicates the incorrect Line.

Its not that hard to tell the IDE, a line has been added increase by one, a line has been deleted decrease by one,
...on a +2000 Lines Python file it becomes a problem.

At least maybe adding a [Update] button (with Keyboard Shortcut) on that Errors SideBar so it points to the correct line.

auto actualiuzacion de plugins

Ninja deberia avisar cuando hay una nueva version de un plugin. Ya que si alguno tiene un bug nadie sabe que tiene que actualizarlo. Esto tambien influye negativamente en el tema de las votaciones

problems on save preferences

1 - use my snippet plugin https://bitbucket.org/leliel12/ninja-ide_snippets_plugin
2 - add a new language
3 - add new snippet
4 - push save (all code is fro ninja itself)

File "/home/juan/proyectos/ninja-ide_git/ninja_ide/gui/dialogs/preferences.py", line 88, in _save
self._tabs.widget(i).save()
File "/home/juan/proyectos/ninja-ide_git/ninja_ide/gui/dialogs/preferences.py", line 566, in save
self._tabs.widget(i).save()
File "/home/juan/proyectos/ninja-ide_git/ninja_ide/gui/dialogs/preferences.py", line 657, in save
settings.FONT_SIZE)
File "/home/juan/proyectos/ninja-ide_git/ninja_ide/gui/main_panel/main_container.py", line 632, in apply_editor_theme
widget.restyle()
File "/home/juan/proyectos/ninja-ide_git/ninja_ide/gui/editor/editor.py", line 227, in restyle
self.highlighter.apply_highlight(
AttributeError: 'NoneType' object has no attribute 'apply_highlight'

Ninja IDE doesn't free the memory of closed tabs

Open a program that watchs free memory.

1- Open a big file (an image of 70mb por example)
2- Close the tab.
3- Open same file.
3- Close the tab.

Do this for 4 or 5 times.
You will clearly notice how the memory was not freed

Os: Mac Os Lion (this may also happen in other Os)

Fix projectOpened signal

Esta señal actualmente se obtiene al pedir el servicio del editor, pero en realidad esta señal deberia estar asociada al explorer para que sea mas logico y no preste a confusion.

no se crea el directorio en el home del usuario

al ejecutar la aplicacion, sino existe el direcotrio ~/.ninja_ide, la misma no se ejecuta

ragnarok@chiquita:/tmp/ninja-ide-2.0-beta2$ python ninja-ide.py 
Traceback (most recent call last):
  File "ninja-ide.py", line 37, in <module>
    ninja_ide.setup_and_run()
  File "/tmp/ninja-ide-2.0-beta2/ninja_ide/__init__.py", line 36, in setup_and_run
    from ninja_ide import core, resources
  File "/tmp/ninja-ide-2.0-beta2/ninja_ide/core/__init__.py", line 13, in <module>
    from ninja_ide.core.core import run_ninja
  File "/tmp/ninja-ide-2.0-beta2/ninja_ide/core/core.py", line 5, in <module>
    from ninja_ide.gui import ide
  File "/tmp/ninja-ide-2.0-beta2/ninja_ide/gui/ide.py", line 57, in <module>
    handler = logging.FileHandler(resources.LOG_FILE_PATH, mode='w')
  File "/usr/lib/python2.7/logging/__init__.py", line 893, in __init__
    StreamHandler.__init__(self, self._open())
  File "/usr/lib/python2.7/logging/__init__.py", line 912, in _open
    stream = open(self.baseFilename, self.mode)
IOError: [Errno 2] No such file or directory: '/home/ragnarok/.ninja_ide/ninja_ide.log'

Ninja-IDE 2.0 beta 2 fails to run while log file does not exist

Ninja-IDE 2.0 beta 2 fails to run while log file does not exist

Traceback (most recent call last):
File "/usr/bin/ninja-ide", line 37, in
ninja_ide.setup_and_run()
File "/usr/share/ninja-ide/ninja_ide/init.py", line 36, in setup_and_run
from ninja_ide import core, resources
File "/usr/share/ninja-ide/ninja_ide/core/init.py", line 13, in
from ninja_ide.core.core import run_ninja
File "/usr/share/ninja-ide/ninja_ide/core/core.py", line 5, in
from ninja_ide.gui import ide
File "/usr/share/ninja-ide/ninja_ide/gui/ide.py", line 57, in
handler = logging.FileHandler(resources.LOG_FILE_PATH, mode='w')
File "/usr/lib/python2.7/logging/init.py", line 893, in init
StreamHandler.init(self, self._open())
File "/usr/lib/python2.7/logging/init.py", line 912, in _open
stream = open(self.baseFilename, self.mode)
IOError: [Errno 2] No such file or directory: '/home/cjjackson/.ninja_ide/ninja_ide.log'

I work round this problem by creating a log file manually, but I believe that I should not have to do that.

Cheers,
Chris.

Filter dropdown is unreadable

In the Open dialog, the "Filter" dropdown seems to use white fontcolor on white background. The entries are there but unreadable.

"Copy file" from project list tree, only copy file to the project seted as Main Project

1- Open two proyects with some files within each of them.
2- Set one of the proyects as Main Project (right click "set as Main Project").
3- Try "Copy file" from the project that is no the Main Project.
4- A popup window will appear with the available directories to copy the selected file,
the only directory available is the directory were the "Main Project" is located.
(Probably, al projects directories might be available)

Os: Mac Os Lion

When will completions work?

I am waiting for the completions of ninja-ide so far i do no see any improvement/work on that. Whan will it be? Would that be ready for 2.0 release?

"test this plugin in Ninja IDE" fails

Error in IDE is silent BUT checking console:

usage: ninja-ide.py [-h] [-f file [file ...]] [-p project [project ...]]
[-e plugin [plugin ...]]
[file [file ...]]
ninja-ide.py: error: unrecognized arguments: --plugin

This occurs for an empty plugin created with the pluginProject (plugin generator)

v2.0-beta ubuntu (deb) doesn't work after install

david@P5KPL:~$ ninja-ide
Traceback (most recent call last):
File "/usr/bin/ninja-ide", line 37, in
ninja_ide.setup_and_run()
File "/usr/share/ninja-ide/ninja_ide/init.py", line 36, in setup_and_run
from ninja_ide import core, resources
File "/usr/share/ninja-ide/ninja_ide/core/init.py", line 13, in
from ninja_ide.core.core import run_ninja
File "/usr/share/ninja-ide/ninja_ide/core/core.py", line 5, in
from ninja_ide.gui import ide
File "/usr/share/ninja-ide/ninja_ide/gui/ide.py", line 57, in
handler = logging.FileHandler(resources.LOG_FILE_PATH, mode='w')
File "/usr/lib/python2.7/logging/init.py", line 893, in init
StreamHandler.init(self, self._open())
File "/usr/lib/python2.7/logging/init.py", line 912, in _open
stream = open(self.baseFilename, self.mode)
IOError: [Errno 2] No such file or directory: '/home/david/.ninja_ide/ninja_ide.log'

I do this to fix it :
mkdir -p /home/david/.ninja_ide
touch /home/david/.ninja_ide/ninja_ide.log

now works fine.

Add Ruby support. Please!

I just tried Ninja IDE and it's certainly looking BRILLIANT!!! I would instantly start using it if it provided Ruby support. There are lots of Ruby developers I know who are fed up with their IDEs and are seeking for an alternative. I think there is great opportunity for Ninja here!!!

I would also like to make a contribution. Here's a syntax highlighter, for a start:

# ruby.json
{
  "comment": [
    "#"
  ],
  "multiline_comment": {
    "open": "=begin",
    "close": "=end"
  },
  "extension": [
    "rb", "ru", "rjs", "Gemfile", "Rakefile"
  ],
  "definition": [
    "def",
    "class",
    "module"
  ],
  "string": [
    "'",
    "\""
  ],
  "properObject": [
    "self"
  ],
  "operators": [
    "=",
    "==",
    "!=",
    "<",
    "<=",
    ">",
    ">=",
    "\\+",
    "-",
    "\\*",
    "/",
    "//",
    "\\%",
    "\\*\\*",
    "\\+=",
    "-=",
    "\\*=",
    "/=",
    "\\%=",
    "\\&=",
    "\\|\\|=",
    "\\^",
    "\\|",
    "\\&",
    "\\~",
    ">>",
    "<<"
  ],
  "keywords": [
    "BEGIN",
    "END",
    "alias",
    "and",
    "begin",
    "break",
    "case",
    "catch",
    "class",
    "continue",
    "def",
    "defined?",
    "do",
    "end",
    "elsif",
    "else",
    "ensure",
    "exit",
    "extend",
    "false",
    "for",
    "if",
    "in",
    "include",
    "lambda",
    "next",
    "nil",
    "not",
    "or",
    "pass",
    "print",
    "protected",
    "private",
    "public",
    "puts",
    "raise",
    "redo",
    "return",
    "require",
    "rescue",
    "retry",
    "super",
    "then",
    "throw",
    "true",
    "try",
    "undef",
    "unless",
    "until",
    "while",
    "yield"
  ],
  "regex": [
    ["(\\s)*\\:(\\w)+", "string", "bold"]
  ]
}

Symbols tab not being populated

If in the beginning of the file Python environment path will be stated, Ninja-ide will not populate symbols tab.

eg.

!/usr/bin/env python

coding=UTF-8

test = "It's not showing it"

Change syntax for file without syntax highlighting fail

Traceback (most recent call last):
File "/media/GATO/programacion/ninja/ninja-ide/ninja_ide/gui/editor/pep8_checker.py", line 53, in run
line += p + '\n'
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 64: ordinal not in range(128)
Traceback (most recent call last):
File "/media/GATO/programacion/ninja/ninja-ide/ninja_ide/gui/editor/pep8_checker.py", line 53, in run
line += p + '\n'
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 64: ordinal not in range(128)
Traceback (most recent call last):
File "/media/GATO/programacion/ninja/ninja-ide/ninja_ide/gui/main_panel/main_container.py", line 653, in _specify_syntax
widget.restyle(syntaxLang)
File "/media/GATO/programacion/ninja/ninja-ide/ninja_ide/gui/editor/editor.py", line 232, in restyle
self.highlighter.apply_highlight(
AttributeError: 'NoneType' object has no attribute 'apply_highlight'

Fix close all projects

Add the path separator at the end of the string to avoid closing projects that starts with a similar path

ninja-ide v2.0

If a link is present in a folder of the project

ninja-ide stop with message : "The project could not be loaded!"

and in terminal launch u'/myptoject/subdir/test_link' open_project_folder function

for information my link is ln -s /usr/local /myptoject/subdir/test_link

Search Result Number

When I do a search in a file through Ctrl+F, let's suppose that it finds 13 occurences.

Then appear: foo_bar 1 of 13

Even clicking in the arrow buttons, this number 1 never changes. The editor goes through all the results, but don't display the correct result index in the bar.

Preferences/Plugins missing tabs

Hi,

I'm using the ninja-ide version 2.0-beta, i've install the following plugins:

  • PluginProject
  • Public Paste
  • Snippets

but when i go to Preferences/Plugins there's only the ppaste tab, nothing about snippet

my Plugins Manager:



my NINJA-IDE Preferences:


thanks in advance

scl

plugin import issue (a malderete issue) :D

instalar dpaste plugin con el plugin manager

editar ~/.ninja_ide/addins/plugins/dpaste/dpaster.py

comentar la linea 33

sys.path.append(os.path.abspath(os.path.dirname(__file__)))

Tratar de correr ninja... tirara una exception cuando intente ejecutar la lina 34 de que no encuentra el modulo twill aunque esta en el mismo paquete

Suggested enhancements for plugins

Access to modify the command line options:

Posibilidad de que un plugin agregue opciones a la linea de comandos capaz que implementando un meto en el plugin que retorne una lista para argparse.

Support ZIPs for --pluggin cli option

dado que los pluggin se empaquetan en zip estaria util que se pueda levantar el plugin asi:

 python ninja-ide.py --plugin archivo_plugin.zip

Change parameter calls in project properties.

Params stated in "Project Properties" causes to call script as:
script.py '-param1 -param2' -> argv = [ 'path' , '-param1 -param2' ]
instead of:
script.py -param1 -param2 -> argv = [ 'path' , '-param1' , '-param2' ]

Plugins need all documented

cuando pedis un objeto del core de ninja para usarlo en un plugin, el objeto tiene una unica forma de entender su semantica: leyendo el codigo fuente.

Estaria muy bueno que todo objeto que compone el API de NINJA-IDE posee una documentacion completa.

Closing a project must close related files

When closing a project, ninja should close all the opened files that are included in the project. Now it just clean the side panel (no files to see now), but the opened files remain open as nothing happened.

Search buttons

"Find" button should disappear when the search has begun.
"Stop" button should disappear when there is no process executing (there's nothing to stop).

Profile manager improvements

scoobygalletas: gatox_away: está muy piola lo de profiles!
[00:22] scoobygalletas: gatox_away: y está a un "update profile" de ser usable
[00:22] gatox_away: scoobygalletas, visteeeeeeee a mi me re sirve con u1 y ninja
[00:22] scoobygalletas: gatox_away: DE UNA, yo estoy laburando en 3 proyectos
[00:22] scoobygalletas: gatox_away: posta que es una feature piola
[00:22] gatox_away: scoobygalletas, pero si tenes el profile abierto cuando cerras ninja con otros archivos o proyectos se actualiza solo
[00:22] scoobygalletas: gatox_away: es medio croto eso jeje
[00:23] scoobygalletas: gatox_away: el problema es si querés hacer context switch
[00:23] scoobygalletas: gatox_away: onda "abrí el profile, abrí más arvhicos, ahora quiero que actualice el profile y cambiar a otro"

Ninja let you open same image several times

1- Open a project with at least one image.
1- Select an image from the project list.
2- Click the number of times that you want to open the image.

Os: Mac Os Lion 10.7.2

Poder pasar la sintaxis desde un diccionario

seria muy util que la clase Editor pueda recibir un diccionario con syntaxis para poder hacer que archivos aun sin guardar se muestren con un resaltado de sintaxis en particular

e = editor.Editor(...)
e.set_syntax({})

File renaming issue

After renaming file in Explorer part. Opened file still remains with previous name.
So it creates new dialog where to save the (old) file.

Ninja-IDE doesn't starts in linux(Ubuntu)

Ninja-IDE doesn't starts in Ubuntu 11(my platform).Because of no log file.Here is the stack trace.The solution is to manually create the log file.

Traceback (most recent call last):
File "/usr/bin/ninja-ide", line 37, in
ninja_ide.setup_and_run()
File "/usr/share/ninja-ide/ninja_ide/init.py", line 36, in setup_and_run
from ninja_ide import core, resources
File "/usr/share/ninja-ide/ninja_ide/core/init.py", line 13, in
from ninja_ide.core.core import run_ninja
File "/usr/share/ninja-ide/ninja_ide/core/core.py", line 5, in
from ninja_ide.gui import ide
File "/usr/share/ninja-ide/ninja_ide/gui/ide.py", line 57, in
handler = logging.FileHandler(resources.LOG_FILE_PATH, mode='w')
File "/usr/lib/python2.7/logging/init.py", line 893, in init
StreamHandler.init(self, self._open())
File "/usr/lib/python2.7/logging/init.py", line 912, in _open
stream = open(self.baseFilename, self.mode)
IOError: [Errno 2] No such file or directory: '/home/kaus/.ninja_ide/ninja_ide.log'

Remember panels sizes

Remember the panel sizes when the user change from one desktop to another and go back

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.