Commit Graph
97 Commits
Author SHA1 Message Date
Eric Meadows-Jönsson 5d34fcdccd Clear project stack in mix teardown 2014-01-21 12:51:43 +01:00
José Valim 5a2e838def Deprecate <-/2 in favor of send/2 2014-01-14 18:27:41 +01:00
Eric Meadows-Jönsson ab538670d3 Add :records, :binaries and :char_lists options to inspect/2
Deprecate :raw in favor of :records
2014-01-11 00:25:23 +01:00
José Valim 02c76da51a Add a test for multiple vars in IEx for the previous commit 2014-01-08 11:30:56 +01:00
José Valim 9b22b6d883 Ensure local is disabled on module definitions 2014-01-03 17:57:24 +01:00
José Valim 4cbe174c13 Merge pull request #1971 from rcillo/rd-improve-helpers-r-error-message
Improve error message for IEx.Helpers.r when module does not exist.
2013-12-31 08:49:47 -08:00
Thomaz Leite 6b407a339b Move IEx.ANSIDocs > IO.ANSI.Docs 2013-12-30 19:47:11 -03:00
Thomaz Leite c6817c80b0 Remove IEx options from default args in ANSIDocs 2013-12-30 19:38:12 -03:00
Ricardo de Cillo dbcb3717d6 Add the failed module to the exception message.
This way it makes clearer what module we are referring to.
2013-12-30 20:17:01 -02:00
Ricardo de Cillo 26bc9d9d61 Make sure the given module is loaded before trying reload it. 2013-12-30 19:05:04 -02:00
Ricardo de Cillo ddd4afbdba Improve error message for IEx.Helpers.r when module does not exist.
Before this commit, when trying to reload an unloaded module, the
user would see an error like:

iex(1)> r InexistentModule
** (UndefinedFunctionError) undefined function: InexistentModule.module_info/1
    InexistentModule.module_info(:compile)
    lib/iex/lib/iex/helpers.ex:352: IEx.Helpers.source/1
    lib/iex/lib/iex/helpers.ex:311: IEx.Helpers.do_r/1
    lib/iex/lib/iex/helpers.ex:304: IEx.Helpers.r/1

After this commit, the user should see


iex(1)> r InexistentModule
** (ArgumentError) Unloaded module Elixir.InexistentModule. Try loading the module's beam file with `IEx.Helpers.l\1`
    lib/iex/lib/iex/helpers.ex:312: IEx.Helpers.do_r/1
    lib/iex/lib/iex/helpers.ex:304: IEx.Helpers.r/1

Which is more informative.
2013-12-30 01:56:55 -02:00
Eric Meadows-Jonsson 3f4410ff68 Make sure IEx r helper does not return a record
The tuple r/1 returns can be a record and IEx will try to inspect it.
Tag the tuple so it will be inspected as a tuple.
2013-12-22 19:50:20 +01:00
José Valim 90d72c6a5e Support + for lists in ANSIDocs too 2013-12-15 22:12:14 +01:00
José Valim c1bcf5dab2 Support - lists in ANSIDocs, closes #1937 2013-12-15 22:02:57 +01:00
José Valim 8720c56291 Ensure c helper works with full path 2013-12-13 11:43:20 +01:00
Yuki Ito c4ffe1b8b3 Use :elixir_env.ex_to_scope/1 insted of :elixir_scope.to_erl_env/1 2013-12-04 11:19:17 +09:00
José Valim cb66331e87 Fix failed IEx test that depended on ExUnit types 2013-11-27 10:41:35 +01:00
pragdave 718b111797 Catch attempts to compile missing files in iex and give slightly tidier error messages 2013-11-12 23:26:58 -06:00
Samuel Tonini 2e9f4196cd fix wrong error message for nil.func() call
The expected behavior for `nil.func()` should be:

    iex(1)> nil.test()
    ** (UndefinedFunctionError) undefined function: nil.test/0
       nil.test()

Also via cli `elixir -e`:

     $ elixir -e 'nil.test()'
     ** (UndefinedFunctionError) undefined function: nil.test/0
     nil.test()
     ....

Undefined function calls behave like:

    iex(1)> hello()
    ** (RuntimeError) undefined function: hello/0
2013-11-01 13:55:33 +01:00
Samuel Tonini a91e1f2288 underlines within links have to be escaped
in links the underline will be escaped with the ansi escape
sequence code `4` (underline).
To avoid this behavior it have to be properly escaped.
2013-10-30 21:12:24 +01:00
Samuel Tonini ad4c89714c prevent iex process termination when autocomplete on a single dot (.) 2013-10-30 10:56:27 +01:00
José Valim d0fd5ed7f0 Fix the build, we no longer fail when taking over itself 2013-10-30 08:32:05 +01:00
José Valim cdd11e7bf1 Improve IEx.Server coverage 2013-10-13 22:28:47 +02:00
José Valim 10270da4cf IEx.Server.boot -> IEx.Server.start 2013-10-13 22:28:20 +02:00
José Valim 45b7debd35 Test IEx.Server start options and configurations 2013-10-12 21:59:54 +02:00
Alexei Sholik e2f81270a6 Add a test for IEx.History.reset 2013-10-12 15:18:58 +03:00
José Valim 76b3a2af69 Move all IEx config handling to IEx.Server 2013-10-12 13:41:55 +02:00
José Valim 0b51a53fe9 Handle markdown escapes in ANSIDocs, closes #1757 2013-10-11 10:31:30 +02:00
José Valim 0870003f1f Do not split words for handling inline code 2013-10-11 00:22:49 +02:00
José Valim bce28ab58a Simplify list handling by delegating to the same text handling function 2013-10-11 00:22:49 +02:00
José Valim 90de6c9a54 Improve coverage of backticks, underscsores, etc in ANSIDocs 2013-10-11 00:22:49 +02:00
pragdave 2eee8f77c7 fix problem with lone stars 2013-10-11 00:22:49 +02:00
pragdave 6923e7bfc6 fix bug with nested lists 2013-10-11 00:22:49 +02:00
pragdave 3f8d5b59ec add a few extra tests 2013-10-11 00:22:49 +02:00
José Valim 63b2180553 Split IEx colors into categories 2013-10-11 00:22:49 +02:00
pragdave e7c3bed4dd respond to review. make internal methods private. Add tests for external methods. 2013-10-11 00:22:48 +02:00
pragdave 949c45d610 Fix up handling of enabled: color option 2013-10-11 00:22:48 +02:00
pragdave 3dbdc77550 First pass at formatting iex help output 2013-10-11 00:18:59 +02:00
José Valim bae4c1c4c8 Merge pull request #1750 from elixir-lang/jv-protocols
Implement protocol consolidation
2013-10-10 03:45:30 -07:00
José Valim f510d4c3df Normalize all stacktrace under the same name and improve IEx errors
Kudos to @pragdave for suggesting some those improvements and
providing an initial implementation in pull request #1752.
2013-10-08 20:47:21 +02:00
José Valim 8575319c0e Improve iex typespec helpers output on bad data 2013-10-08 12:47:36 +02:00
José Valim acdc55bd90 Get rid of the r helper since it causes conflicts related to modules dependencies 2013-09-17 12:35:45 -03:00
José Valim f3f64cdba2 Move to capture syntax 2013-09-10 23:33:53 -03:00
José Valim 4016864db2 Improve IEx out of bounds message 2013-09-04 09:34:08 -03:00
vanstee 34dade0916 Revert "Merge pull request #1645 from vanstee/string-split-repeats"
This reverts commit fb30101632, reversing
changes made to c348eb7cc5.
2013-08-25 21:27:06 -04:00
vanstee 891564f114 Keep empty strings when splitting
To stay consistent with both `String.split/2` and `:binary.split` we
need to keep around empty strings that are accumulated while splitting.
In the future we could support the `:trim` option to consistently remove
these in call calls to `String.split`.

Fixes #1636
2013-08-23 12:37:02 -04:00
José Valim 0510512375 Deprecate to_binary in favor of to_string
We also rename Binary.Chars to String.Chars.

As Binary.Chars was the protocol used for interpolation,
it is semantically correct to have a protocol that works
on strings, instead of raw binaries.
2013-08-22 12:19:30 +02:00
José Valim 6d9506c012 Improve error message for h(:lists) 2013-08-19 08:41:43 +02:00
José Valim 6ac280e17c Clean up and expose are more complete API in Exception 2013-08-14 12:55:13 +02:00
José Valim e2ef1ae8de Improve docs for iolist_to_binary 2013-08-14 11:39:04 +02:00