Giter Site home page Giter Site logo

marcoportmann / tinn-r Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jcfaria/tinn-r

0.0 1.0 0.0 241.85 MB

Tinn-R Editor - GUI for R Language and Environment

Batchfile 0.03% R 2.34% Inno Setup 0.22% Pascal 94.05% Makefile 0.09% HTML 0.37% PostScript 0.12% C 2.77%

tinn-r's Introduction

Tinn-R

This is a fork of the Tinn-R Editor - GUI for R Language and Environment maintained by José Cláudio Faria.

In particular, the project aims at migrating the source code of Tinn-R to Delphi 10 and includes a bunch of new features.

Experimental features

  • New ribbon UI (preliminary, most tabs are WIP)
  • Autosave and recovery capabilities
  • There is as column selection mode. Press “alt” and start to select.
  • Code navigator (located on the tools window/panel): Lines starting with #! are interpreted as headers. Tip: write “#! Main Title” and start another line with “#!2 Subtitle”. In case there is a digit placed after “#!” it will be interpreted as the hierarchical level.
  • Start typing the name of an object loaded in the explorer. The explorer should indicate matches, there is a shortcut to complete the name. Works only when the R term is running.
  • Same for objects in the library: Besides typing the first few letters of an object name and complete it by shortcut you can also add text triggers to quickly insert longer object names and code snippets from the library into the editor.
  • Add user defined code snippets to the library: Mark some text in the editor, open the context menu and click on “add code snippet”.
  • Code folding for { }
  • Click on the name of an object in the editor to see further details. Works only when the R term is running.
  • Type "[" or “$” after an object such as a data.frame to get a popup to select column names (very preliminary implementation). Works only when the R term is running.
  • Press "(" after a function name and all parameters are shown.
  • Select several lines with different indentation and align them with the first line.
  • Select several lines which have “=” equal signs to align them.
  • Quote all words within the current text selection.
  • Remove all line breaks within the current text selection.
  • Tools window/panel > file management > file list of the current folder, right-click context menu: copy-file list inserts the name of all files into the editor (very preliminary, there is no option to select files).
  • Alt+down key in the R term opens a popup menu with recently used commands (very preliminary).
  • Bugs, bugs, bugs, and missing features: There is no category or package filter for the library at the moment. Printing, LaTeX, Sweave, Knit, etc. etc. doesn’t work at the moment. Only the R highlighter works at the moment, the style descriptions in the highlighter menu are probably wrong or weird.

Installation

Version 3.1.0.2 of the app is available here - Please replace utils/TinnRCommunication-Lib.r by the version available on github, otherwise the object explorer won't work.

First run

Start Tinn-R and click on “R send: R terminal on/off” on the "Home" tab. If required, Tinn-R asks for the path of the R executable, starts to download all required packages. Make sure that you are connected to the internet and no popup windows are hidden behind the main window and are waiting for your input (e.g. specifying a download server). Once all packages required by Tinn-R are installed and loaded Tinn-R will continuously check which packages are loaded and imports parts of their help files into its library. Tinn-R comes with an empty library. Note that it can take up to 15 minutes until all base packages are imported.

LANGUAGE: Object Pascal, IDE: DELPHI 10.

tinn-r's People

Contributors

jcfaria avatar marcoportmann avatar

Watchers

 avatar

tinn-r's Issues

App and editor shortcuts interferences

If a shortcut (e.g. ctrl+t) is used for the editor (transpose) and for the app (send to R) the app seems to have priority. However, there seem to be exceptions where the shortcut is send to the editor.

Highlighter should be reset in Rterm before a new command starts.

As R output can contain syntax errors or might be cropped there might be strings with missing quotation marks which leads subsequently to wrong highlighting. Therefore the highlighter should be reset when a new command starts ( > character).

Use SetStyling(pos, style)

3 confusing systems for shortcuts

There are three systems:

  1. Shortcuts for the whole application
  2. Shortcuts for the editor
  3. Shortcuts "related to the operational system"

Check, whether the settings menu for 1. + 2. could be unified and whether 3. is still needed. 3. is obsolete if RTerm becomes the only method to communicate with R. Unifying settings for 1.+2. has some pitfalls (e.g. ESC is a valid shortcut for the editor).

Open file in the editor is overwritten with the content of another editor

Unclear how to reproduce this error.
From time to time a (probably new and unsaved) tab appears twice while the content and name of another tab disappears. The corresponding file still exists and is not overwritten. But all unsaved changes are lost unless there is a version in the recovery directory left.

Highlighter settings for io and log

  • Set highlighter to text/R doesn't work for io/log
  • Highlighter settings for log may not be loaded when switching between different split-modes
  • Highlight R objects/keywords in IO/log
  • Code completion and tips should also work in IO

Improve recognition of R objects and keywords

At the moment, the names lookup window appears only for simple R object names. It fails when names are

  • more complex including special characters
  • consisting of brackets (like subsets(data, ....))
  • bordering other brackets

Meta: Shortcuts

  • Add a new shortcuts-file to the data-zip if a new shortcuts-file is written
  • Test whether restoring from data-zip works
  • Add export and import functionality

Details on import:

  1. Load the file to a temp-db. Check whether a correctly specified table "shortcuts" exists
  2. Replace the old file if everything is ok
    This approach is different from the previous version as the location of the file in use won't change.

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.