Git Product home page Git Product logo

yi's Introduction

Yi

Travis Hackage Hackage-Deps

Yi is a collection of packages that serve as building blocks for making your very own text editor.

Installation

Just running stack install yi or cabal install -j yi would be akin to unwrapping a box of lego and finding an assembled spaceship there. Note that this way, it will not be possible to use a custom configuration.

In order to have a personalized configuration, it is necessary to use Yi as libraries to create your own text editor.

A good starting point is choosing an example configuration of your liking in the example-configs directory, building it, running it, and tinkering with it.

Static vs dynamic

Yi used to have a dynamic configuration (ร  la Xmonad). So each time after the configuration was changed, Yi needed recompilation before starting.

Now, it's recommended to use a static configuration which makes it possible to distribute binaries without the entire Haskell ecosystem.

Dynamic configuration is still available using a separate package.

See this article for more detailed explanations about static and dynamic configuration.

Static example configurations

The static example configurations don't need to be placed in any specific directory (but you can still use ~/.config/yi).

  1. Copy the example configuration (only the contents of the folder) to your yi folder.
  2. Install the configuration (with stack install or cabal install). Make sure the folder where stack (or cabal) installs executables is on your PATH.
  3. Run Yi with the command found in the package.yaml file under the executables line (i.e. yi-vty-emacs for the emacs config). You can also change the executable name here.

Dynamic example configurations

You can install this just like the static configuration. Make sure to copy the example configuration in the ~/.config/yi folder. After step 3, you should be able to just use the yi command to launch Yi. If you change your configuration file Yi automatically detects your changes and rebuilds itself.

See this documentation page for more detailed installation instructions. Hacking instructions if you're using the nix package manager are also there.

Configuration

Yi, as a library, can be categorized into four parts :

  • Frontends are responsible for rendering the editor state and passing user events to the core ;

  • Actions describe how to interact with the editor, and it's the part that makes most of Yi. It is structured around a stack of three monadic DSLs:

    • BufferM for all buffer-local operations, like insertion, deletion of text, and annotation of buffer contents. It can be understood as a monad that encapsulates the state of one buffer.
    • EditorM for editor-level operations, e.g., opening and closing windows and buffers. Operations involving more than one buffer are handled at this level too.
    • YiM for IO-level operations. There, one can operate on files, processes, etc. This is the only level where IO can be performed.
  • Keymaps represent how to trigger actions, they serve as the basis to use or to create the ones you need;

  • Glue code, how the three other parts are shaped together.

External configuration examples

Some people share their Yi configurations here on github.

Documentation

Please visit the Yi website.

Reporting bugs and feature requests

Please report issues (including documentation ones) on GitHub.

Mailing List

Our mailing list is yi-devel, hosted at Google Groups. Please ask us questions on this list! All development discussion occurs on this list.

IM channels

IRC: #yi@Freenode Please note that it is rather slow (very slow compared to #haskell), so be prepared to stay for longer than 5 minutes.

Matrix: #yi:matrix.org

How to support developers

Reading material

There are some papers which might interest you.

yi's People

Contributors

acertain avatar aiya000 avatar benarmston avatar cipherwraith avatar coreyoconnor avatar dexterpu avatar donsbot avatar ethercrow avatar exlevan avatar fuuzetsu avatar goj avatar greenrd avatar hi-angel avatar jeffwheeler avatar jhance avatar juliapath avatar maltem avatar mfourne avatar mgajda avatar mmn80 avatar mpwp avatar niilohlin avatar nominolo avatar noughtmare avatar np avatar quickdudley avatar reinerp avatar talanis85 avatar vivid-synth avatar waynr 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

yi's Issues

Make Yi syntax-aware

Original author: [email protected] (June 21, 2007 15:39:47)

We want yi to be "syntax-aware"

The (partial) parse tree should be available for

  • syntax highlighting
  • auto-indent
  • checking syntax
  • maybe syntax-directed edition

Here is what the TODO file used to say about ideas on how to do that:

    - run a parser in background thread (of Parser class), 
      producing a syn tree

    - abstract syn representation
        - produces syntax colouring ppr (not general ppr)
        - hints for layout (on \n, for example)

    - so we're mostly direct editing, and updating the syn tree
      where possible.

    - so how to take a syn tree and flatten it to produce a 
      drawable buffer?
        - can we deparse it directly?   
        - or can we consult the abs syn tree, as we draw 
          each buffer line?
            - walk the parse tree, drawing chars from the buffer in
              the colour specified by the tree.

    - need correct position information in syn tree, to colour
      tokens. comments aren't stored in the syn tree, so how do we
      colour them?
        * Centaur records comments in the lexer, with their locations.
          Then using location information in the syntree, hook
          comments back in.
      - what about comments?
          - record the comments, with their positions, in the lexer.
          - re-splice comments back into the parse tree.

    - set of token classes?

    - need multiple entry points to the parser, to reparse
      subexpressions?
        - ==> Centaur (for ML) has a good system.

ftp://ftp.inria.fr/INRIA/publication/publi-pdf/RR/part3/RR-3139.pdf

        - alredy available in Happy parser for GHC, via the %name
          directive, for:
            - parseModule module
            - parseStmt   maybe_stmt
            - parseIdentifier  identifier
            - parseIface iface
            - parseType ctype

    - can keep track of points to start reparsing from. see
      vim:syntax.c- syntax state stack cache

    - need to map tokens to attributes.

- good overview to structure editors
         http://www.cs.uu.nl/research/projects/proxima/

See also the references provides by Thomas Schilling

http://www.emacswiki.org/cgi-bin/wiki/ParEdit
http://wiki.opendylan.org/wiki/view.dsp?title=AppleDylanScreenshots

The Deuce source code is available online as part of the functional
developer source code:

http://www.opendylan.org/cgi-bin/viewcvs.cgi/trunk/fundev/sources/deuce/

http://harmonia.cs.berkeley.edu/papers/twagner-parsing.pdf

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=25

Search and Replace buffer remains in the buffer list

Original author: [email protected] (January 14, 2008 12:20:29)

As far as I know this only effects the emacs key-bindings

What steps will reproduce the problem?

  1. start yi and open a file such as yi/README
  2. do a search and replace, at some point 'q' to quit it
  3. change buffer without specifying the target buffer, "C-x b" "Ret"

What is the expected output? What do you see instead?
The search and replace buffer shouldn't be in the list but it is.
Worse still once you have gone to the search and replace buffer you cannot
move out of it. The only way to do anything is to press 'q' but this quits
you out of 'yi'

Possibly, as a temporary work around which may be desired anyway is to
allow "C-x b" to work in the search and replace buffer. That way you could
do something in the middle of a search and replace as well. It would also
mean that this bug still remains but at least it would not be so critical
as you could at least get back to your work.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=63

Can't save initial .yi file

Original author: [email protected] (March 14, 2009 07:01:36)

What steps will reproduce the problem?

  1. Cabal install yi
  2. yi
  3. edit .yi in temporary emacs mode. C-x C-s

What is the expected output? What do you see instead?

I expect to see a message saying buffer saved, or something (I've never
tried Yi before).

Instead it says:

["error: /home/colin/.yi: openBinaryFile: inappropriate type (Is a directory)"]
Please provide relevant version information:

What version of Yi are you using? 0.6.0
What version of GHC? 6.10.1
What version of Cabal? 1.6.0.2
What operating system/version? Linux - Fedora 10

If you generated it (--debug) please provide your .yi.dbg file

Please provide any additional information below.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=248

Go to Next Error is Currently a Hack

Original author: [email protected] (April 19, 2008 07:53:38)

When a module is parsed/typechecked with GHC the list of errors is
recorded in a list of CompileNote which is currently defined in Yi.Editor.

This is not the right place to do it. Yi.Editor should be independent of
Shim/GHC. Instead a more general system for recording list of errors is
needed. For example you may want to add support for third party language
and then the error messages will not be GHC specific anymore.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=109

Memory Usage in Yi

Original author: [email protected] (July 27, 2008 15:31:24)

The memory usage of Yi seems to grow as more and more keystrokes and
actions are taken by the user. This results in unpredictable pauses. The
pauses are conjectured to be caused by the garbage collector.

What steps will reproduce the problem?

  1. Use Yi for long enough

Essentially it would seem that there is a source (or sources) of memory
leak in yi. I have found that in Haskell mode opening a parentheses causes
memory usage of yi to jump drastically - this may help in finding the root
cause.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=155

Triple-clicking a line in graphical mode doesn't highlight the line

Original author: [email protected] (March 11, 2011 21:39:54)

What steps will reproduce the problem?

  1. $ yi -f pango
  2. Triple-click a line with the mouse.

What is the expected output? What do you see instead?
The line should be highlighted, but nothing happens.

Please provide relevant version information:

What version of Yi are you using? 0.6.2.5
What version of GHC?
What version of Cabal?
What operating system/version? Ubuntu.

If you generated it (--debug) please provide your .yi.dbg file

Please provide any additional information below.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=332

Impossible dependency resolution - data-accessor-monads-fd and transformers

Original author: [email protected] (June 11, 2010 19:02:35)

What steps will reproduce the problem?

  1. "cabal install yi"

What is the output?

Resolving dependencies...
cabal: cannot configure data-accessor-monads-fd-0.2.0.2. It requires
transformers ==0.2.*
For the dependency on transformers ==0.2.* there are these packages:
transformers-0.2.0.0 and transformers-0.2.1.0. However none of them are
available.
transformers-0.2.0.0 was excluded because yi-0.6.2.2 requires transformers
==0.1.*
transformers-0.2.1.0 was excluded because yi-0.6.2.2 requires transformers
==0.1.*

Please provide relevant version information:

What version of Yi are you using? 0.6.2.2
What version of GHC? 6.12.1
What version of Cabal? 1.8.0.4
What operating system/version? Win 7

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=312

Slowness (in fundamental mode)

Original author: [email protected] (April 27, 2009 07:50:12)

What steps will reproduce the problem?

Open a 1000 or more lines file in yi, even if the syntax of the language used is trivial (LaTeX, for
instance), typing is extremely slow. Moreover, pasting something from a global paste bin (for
instance apple+V in Mac OS's terminal) will take 100% CPU for several minutes and even pasting
three or four lines can take a minute.

What version of Yi are you using?
0.6.0
What version of GHC?
6.10.1

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=265

Installing yi-0.6.4.0: Yi/Lexer/Abella.hs : Not in scop `alexGetByte`

Original author: [email protected] (September 23, 2011 13:50:49)

What steps will reproduce the problem?
Install yi-0.6.4.0 from HackageDB using cabal-install.

What is the expected output? What do you see instead?

I now and then give yi a try (about every half year). This
is a first install using cabal. I get the following:

cabal install yi --user
.
.
.
[ 73 of 127] Compiling Yi.Lexer.Abella  ( dist/build/Yi/Lexer/Abella.hs, dist/build/Yi/Lexer/Abella.o )

dist/build/Yi/Lexer/Abella.hs:196:22: Not in scope: `alexGetByte'

dist/build/Yi/Lexer/Abella.hs:230:8: Not in scope: `alexGetByte'
cabal: Error: some packages failed to install:
yi-0.6.4.0 failed during the building phase. The exception was:
ExitFailure 1

Please provide relevant version information:

What version of Yi are you using? 0.6.4.0
What version of GHC? 7.0.3
What version of Cabal? 0.10.2
What operating system/version?
Linux 2.6.32-33-generic x86_64 GNU/Linux

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=365

Control-o does not backtrack in vim mopde

Original author: [email protected] (March 11, 2011 22:15:48)

What steps will reproduce the problem?

  1. yi --as=vim some_file
  2. :e some_other_file
  3. C-o

What is the expected output? What do you see instead?
some_file should show up again. Instead it says

Unrecognized input: C-o

Please provide relevant version information:

What version of Yi are you using? 0.6.2.5
What version of GHC?
What version of Cabal?
What operating system/version? Ubuntu.

If you generated it (--debug) please provide your .yi.dbg file

Please provide any additional information below.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=334

Performance issues

Original author: [email protected] (June 13, 2011 13:38:13)

My commit[1] fixed some occasional crashes and threading issues in the pango UI, but also degraded performance quite significantly.

I will fix this when I get the chance (not for a while, unfortunately); I'm just posting here to make a record of the status, and to remind me of the details.

I've done some benchmarking, and (I think) I know the culprit. In my commit, I moved the function 'updateWinInfoForRendering' from the 'onExpose' event into the main UI loop. This call can be quite expensive if the window contents have changed.

Due to the threading issues documented in my commit, I think the solution is to move this function back to the 'onExpose' event (to improve responsiveness), and also wrap the 'PangoLayout' in an 'MVar' (to avoid breaking the multithreaded behaviour again). This would give the correct threading behaviour, and hopefully restore (most of) the performance.

[1] acfd183

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=357

Custom Yi should also depend on the mod time of the libraries that it is going to be linked against.

Original author: [email protected] (June 24, 2008 04:54:51)

  1. Using the standard cabal configure/build/install pipeline not using
    -fhacking
  2. configure;build;install
  3. Startup the editor.
  4. Make a change to the Yi source files. In my case I changed:
    hunk ./Yi/Buffer.hs 281
    -getPercent a b = show p ++ "%"
    +getPercent a b = show p ++ "WOOO%"
  5. build;install
  6. start up the editor

I'd expect the "WOOO" to show up on the modeline. Instead the same modeline
is displayed as before the change.
Deleting the custom yi in ~/.yi resolves the problem as this triggers a
re-build of the custom yi.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=135

Extreme sluggishness when viewing lots of text

Original author: [email protected] (May 17, 2009 19:41:38)

What steps will reproduce the problem?

  1. Open (create) a file in fundamental-mode.
  2. Fill the buffer to the width and height of the window with e.g. "hello".
  3. Move the cursor.

What is the expected output? What do you see instead?
It lags and uses lots of CPU time. I expect this to be very fast in
fundamental-mode, as it really shouldn't be doing anything?

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=270

Editor becomes sluggish after extended usage (vty)

Original author: [email protected] (December 11, 2008 13:08:01)

What steps will reproduce the problem?

  1. Use yi for a long period of time

What is the expected output? What do you see instead?

Cpu usage should be as low as when Yi has just been opened, but it is
very high.

This is a rather poor bug report, but unfortunately I don't understand
what's going on.

Typing characters suddenly starts using a lot of CPU. Closing buffers
does not help, and the memory usage is still low. I can only attribute this
slowness to the actual inputting of characters. This might be a bug in
the GHC scheduler, since vty uses channels extensively.

(This is with Ubuntu 8.10)

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=214

Build failure during install

Original author: [email protected] (September 12, 2009 01:29:46)

What steps will reproduce the problem?

  1. cabal install yi

What is the expected output? What do you see instead?

I expect it to build and install. Instead, I get this error:

Yi/Prelude.hs:182:9:
Duplicate instance declarations:
instance Category Accessor.T -- Defined at Yi/Prelude.hs:182:9-38
instance Category Accessor.T
-- Defined in data-accessor-0.2.1:Data.Accessor.Private
cabal: Error: some packages failed to install:
yi-0.6.1 failed during the building phase. The exception was:
exit: ExitFailure 1

Please provide relevant version information:

What version of Yi are you using? 0.6.1
What version of GHC? 6.10.4
What version of Cabal? 1.6.0.3
What operating system/version? Ubuntu Linux 9.04

If you generated it (--debug) please provide your .yi.dbg file

Please provide any additional information below.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=301

large files cause stack overflow

Original author: [email protected] (June 25, 2010 19:12:38)

What steps will reproduce the problem?

  1. Open a really big file (I was trying to open one 33M)
  2. Observe yi hang for a while and then report "error: stack overflow"

What is the expected output? What do you see instead?
expect file to open, or as an intermediate "fix" a warning saying that files of size >= X are unsupported maybe.

Please provide relevant version information:

What version of Yi are you using? yi 0.6.2.3
What version of GHC? The Glorious Glasgow Haskell Compilation System, version 6.12.3
What version of Cabal? cabal-install version 0.8.2
using version 1.8.0.6 of the Cabal library
What operating system/version? linux

Please provide any additional information below.
thanks for making a cool editor :)

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=314

Vim block/rectangle functions not yet implemented

Original author: jeffwheeler (September 07, 2008 21:31:09)

This is similar to the Emacs rectangle modes, but the visual selection actually forms a rectangle,
rather than a normal selection style that occurs in Emacs (i.e. in Emacs, the selection goes from the
start point, all the way to the end of the line, and then continues at the start of the next line, etc.;
Vim actually has a rectangle).

In Vim, this is activated with C-V, which enters visual block mode.

Personally, I think it would be handy to make the selection style configurable; I think using the
Vim-style selection with rectangles is better than the Emacs normal style, and I'd like to replace the
Emacs style in my configuration.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=176

Need to migrate to new Gtk2Hs signal/event model

Original author: jeffwheeler (March 26, 2010 22:32:37)

Gtk2Hs has moved away from the onX event handlers to using just an
[http://www.haskell.org/gtk2hs/docs/current/System-Glib-Signals.html on]
function, an event type, and a callback function in the
[http://www.haskell.org/gtk2hs/docs/current/Graphics-UI-Gtk-Gdk-
EventM.html#1 EventM] monad.

The transition to on is trivial, but I don't see an obvious way to handle
support EventM with our gtkToYiEvent solution, because it doesn't seem
possible to get the raw GTK event within that monad (presumably by design).

This may provide an opportunity to remove some of the crustier bits in the
Pango backend.

(Note: I was able to install Gtk2Hs with the
[http://sourceforge.net/mailarchive/forum.php?
thread_name=[email protected]&forum_name=gtk2hs-devel cabalized
packages] in testing on their mailing list.)

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=309

Online Help System

Original author: [email protected] (March 16, 2009 15:38:23)

This is an issue which has been discussed already on the mailing list. As
per Jean-Philippe's request, I'm putting it on the tracker, so we can make
it easier to follow progress, and/or opinions.

This is similar to #249, albeit a bit more general. I'm proposing the
following enhancement:

We need an online help system, similar to Emacs' C-h and Vim's :help. I do
not think that it would be a good idea to use haddock strings and/or let
functions self-document directly in the code.

(below is some text copied from an earlier email to the list)

Vim (and Emacs, I think) come with a special editor mode for
documentation. That means, there are some plain text files, which
follow a certain markup standard, and are indexed by the editor's
online help system. When you search for something, the editor opens up
the relevant file in a new buffer, at the relevant line, and maybe
highlights what you've been looking for. In Vim at least, (I wouldn't
know about Emacs) it also works this way for simple things like gq or
G; i.e. everything is documented that way.

This decoupling of functionality/documentation certainly has its drawbacks,
but I think it's overall a good idea. I think people should be able to work
on the docs without even looking at the code.

Of course this method will place us in danger of the typical docs/code
race, but that's always the case when you add documentation: keeping
the docs up-to-date becomes a major issue.

Some ideas for a realization:

  • use markdown for the documentation since it's widely known and rather easy
    to parse. We'd have to use a subset of md, since a terminal can't show all
    the possible markups. I'm mainly thinking about code samples and links.
    Using the pandoc package, we could even optionally display the help as
    html pages in the browser.
  • create a syntax mode for those help files, that allows the user to jump on
    links, similar to Vim's help system or info pages.
  • create an indexing system (is there some haskell package that already does
    that?) and make it searchable via some function.

I think that for the two most popular key maps (Emacs and Vim), we could
just reuse the native docs of the respective editor, since Yi's behaviour is
largely similar.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=253

Double-clicking a word does not highlight the word in graphical mode

Original author: [email protected] (March 11, 2011 21:40:51)

What steps will reproduce the problem?

  1. $ yi -f pango
  2. Double click a word with the mouse.

What is the expected output? What do you see instead?
The word should be highlighted. Nothing happens.

Please provide relevant version information:

What version of Yi are you using? 0.6.2.5
What version of GHC?
What version of Cabal?
What operating system/version? Ubuntu.

If you generated it (--debug) please provide your .yi.dbg file

Please provide any additional information below.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=333

Error in Hackage's yi-0.6.1/Yi/Prelude.hs

Original author: [email protected] (November 11, 2009 03:00:36)

What steps will reproduce the problem?

  1. cabal update
  2. cabal install yi

What is the expected output? What do you see instead?

The build fails because "import Control.Category" is on line 85 and 88"
of Prelude.hs

In the same file, the "instance Category Data.Accessor.Basic.T ..." code
breaks the build. It looks like all of this is fixed in darcs, just not
in hackage yet.

How can the version in cabal be fixed?

Please provide relevant version information:

What version of Yi are you using? 0.6.1
What version of GHC? 6.10.4
What version of Cabal? cabal-install version 0.6.2
using version 1.6.0.3 of the Cabal library
What operating system/version? Ubuntu karmic

If you generated it (--debug) please provide your .yi.dbg file

Please provide any additional information below.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=306

styleRangesBI n i: does not work for some some values of n,i

Original author: [email protected] (January 18, 2008 05:22:58)

I'm not sure what the conditions for creating the error are, but you can
see it by opening Yi in Vty mode on Yi/Keymaps/Emacs/Util.hs and Yi/Core.hs
in the Yi source. Hit C-v about 3-4 times, and the text all disappears (the
status bar remains).

By C-p'ing up until the screen scrolls, the text will come back, but if you
go back down, it disappears again!

This issue doesn't happen with Gtk.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=67

Pango doesn't support input methods

Original author: [email protected] (June 18, 2008 11:45:30)

What steps will reproduce the problem?
1.
Locale is zh_CN.utf8
in .xinitrc,

export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim

  1. yi -f gtk
  2. try to input chinese

What is the expected output? What do you see instead?
fcitx should be in highlinght mode. Chinese characters should be input.the
fcitx input methold lose response. the status bar is gray. cant input any
chinese character, but input english characters.

What version of Yi are you using? On what operating system?
0.4, from darcs 20080618, archlinux

If any was produced, please provide your .yi.dbg file

Please provide any additional information below.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=125

Strings typed with quotation marks are Ropes in .yi/local/Env.hs

Original author: [email protected] (October 28, 2010 12:17:31)

What steps will reproduce the problem?
1.Edit .yi/local/Env.hs to and add
str :: String
str = "Hello World"
2. Open yi and try to use one of your custom commands defined in .yi/local/Env.hs

What is the expected output? What do you see instead?
Expected:
Command runs.
Instead:
compile error, because str is not of type String but Rope.

Please provide relevant version information:

What version of Yi are you using?
0.2.6.4
What version of GHC?
6.12.3-1
What operating system/version?
Archlinux
Please provide any additional information below.
I have tried to figure out why this happens, but it doesn't seem to be a problem with my imports because GHCI compiles it fine and says it's a String. My workaround is to write str = ['h','e','l',...,'d'].

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=321

CJK characters garbled in minibuffer

Original author: [email protected] (August 28, 2009 16:43:15)

What steps will reproduce the problem?

  1. cd to a directory containing file names in CJK characters
  2. run yi -f vty
  3. C-x C-f

What is the expected output? What do you see instead?
Correct file name in CJK characters; garbled characters.

Please provide relevant version information:

What version of Yi are you using? 0.6.1
What version of GHC? 6.10.4
What version of Cabal? 0.6.2
What operating system/version? Arch Linux, up to date

If you generated it (--debug) please provide your .yi.dbg file

Please provide any additional information below.
This happens both under GNOME Terminal and Konsole.
Attached are screenshots reproducing the problem under GNOME Terminal and
Konsole. The garbled minibuffer should be "

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=296

Initial cursor type invalid for Vim

Original author: jeffwheeler (September 27, 2009 15:21:59)

What steps will reproduce the problem?

  1. Launch with vim, pango: yi --as=vim -fpango

What is the expected output? What do you see instead?

The initial cursor should be the block, which can be seen after moving the cusor (or
performing any action). Instead, I see the single line cursor, which is Emacs' default.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=303

Double-length unicode characters can mess the display

Original author: [email protected] (September 27, 2008 02:33:37)

What steps will reproduce the problem?

  1. compile yi with vty 3.1.0
  2. set locales to zh_CN.utf8
  3. run 'yi -f vty' under urxvt,input some Chinese characters.

What is the expected output? What do you see instead?
It should show right Chinese character, but it shows weired things.

What version of Yi are you using? On what operating system?
yi 0.4.0 on archlinux

If any was produced, please provide your .yi.dbg file

Please provide any additional information below.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=187

gtk2hs 0.10.1 breaks Yi

Original author: [email protected] (May 12, 2009 17:34:08)

  1. yi -fpango
  2. Resize the window until segfault

Please provide relevant version information:

What version of Yi are you using? from darcs
What version of GHC? 6.10.3
What version of Cabal? 1.6.0.3
What operating system/version? Ubuntu 9.4 (x86)

gtk2hs 0.10.1 introduced a change that fixed Leksah but broke Yi. I've
reported this on the gtk2hs-devel mailing list and Axel Simon has a fix
planned. Until then, gtk2hs 0.10.0 works okay, but we should leave a bug
open because this blocks future gtk2hs functionality such as XIM support.

Original issue: http://code.google.com/p/yi-editor/issues/detail?id=267

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.