Aug 18, 2011

Emacs as a Ruby On Rails IDE

Currently I'm using some old version of Rinari with minor modes for different formats - haml, yaml, js, etc.
I am about to rebuild from scratch my Emacs configuration, start with Emacs 24 and create a custom RoR support or find a suitable one.
The post will be a placeholder for features I would like to have for RoR development.

Features

Modes

The following modes/languages support:
  • ruby, inline ruby, inline rails console
  • erb
  • haml, sass, scss
  • html, css
  • javascript, javascript minor in html | erb | haml
  • yaml
  • shell
  • RSpec, Cucumber

Navigation

 Jumping

  • Jump any-to-any - model, controller, views, specs
  • Jump any-to-any namespace support, method name support
  • Jump to definition project coded
  • Jump to definition RoR and gems sources
  • Jump inside source file
  • Fuzzy jump (like ido works 'usrsn' should show UserSession as a jump option)

Help

  • attach help on rails, gems and ruby libraries

Packages

  • el-get
  • elpa

May 24, 2011

Navel - fixes

  • Single inheritance
  • Fixing attr_accessor
  • For iterator with multiple variables
Will be there something else tomorrow? Lets see.

Apr 7, 2011

Navel's future

At the moment I'm not sure about the future of the project.

Mar 22, 2011

Navel - post if

if d>5: func1() to func1() if d>5 and improve is None to nil? conversion.

Mar 19, 2011

Navel - attr_accessor

Create attr_accessor :x, :a from self.x = ..., self.a =... expressions.

Mar 9, 2011

Navel presentation at kiev.rb #1

Presentation of navel at kiev.rb #1 held on 07th March, 2011.

Mar 4, 2011

Navel - no days

I've lost the day counter. Some small updates and a navel is made to simplify Txl calls.

Mar 2, 2011

Navel - one liners

Convert one line function definitions, ord and chr.
Boolean operations needs to be investigated and variables/references assignment.

Feb 26, 2011

Navel: Day 13 - Something

Yesterday I forgot to make a note.

Today: range(x,y,1) -> x...y

sort.py file from a nltk library is converted ok, but results are printed wrong.

Feb 24, 2011

Navel: Day 11 - not

Skypper is now project Navel.

not is converted to !.

Feb 23, 2011

Skypper: Day 10 - FFI

I have played a bit with Ruby FFI and it had appeared to be not that scaring as I thought. So probably I will get back to Skypper initial target Skype4Py. Although the other Python library I found for transformation is also interesting, but I will keep it in a secret.
20 min update: Skype4Py is unstable and produces core dumps very often. Even simple operation to get user name is not working. The library to be transformed is still unclear.

Transformations made:
  • var is None to var.nil?
  • end added to single while and for blocks


Feb 21, 2011

Skypper: Day 09 - if statements

I implemented adding end to if statements suites for (if, elsif and else). Also I decided to postpone preprocessor and other cosmetic changes till the end and devote more time on transforming features.

Feb 20, 2011

Skypper: Day 08

Now an end is added to a Python's suite (class or function body) to be treated as a Ruby body.

I'm thinking about rewriting Jim Corby's Python preprocessor (INDENT/DEDENT) to have DEDENT just after the last indented line not before the first dedented. Most probably it will be rewritten in Python.

Feb 18, 2011

Skypper: Day 07

I have implemented python len(e) --> e.size() transformation. I spent significant time remembering some Txl and Python grammar details but at the end was impressed by the solution. It was easy and elegant.

Feb 17, 2011

Skypper: Day 06

I'm not working full time with the project now. Only occasionally at work and in spare time.

I will attend Kiev.rb#1 Ruby developers meeting in Kiev, Ukraine organized by Sphere Consulting Inc. with a talk "Transformers. Translation to Ruby from other languages". I'm about to present there the results of the project. That will include Python to Ruby transformation and a Python project translated to Ruby. Initially it was supposed to transform Skype4Py but now I'm not sure what project will translated. It will depend on results of Python to Ruby transformation and time availability.

Feb 14, 2011

Wind of Change

After about 10 years of working on KDE I have switched both my home an work environments to Gnome.

OpenSUSE did not play that good on my laptop and was also removed in favor of Ubuntu. Mostly because of hardware problems.