code
в качестве поддерживаемого редактора в Pry::Editor (#2236)._out_
могло возвращать неверные результаты (#2201).--plugins
. Теперь он выдаёт предупреждение (#2180).require
из файла ~/.pryrc
или добавить его в Gemfile.# ~/.pryrc
require 'pryrc'
Pry::Config
, который вызывал NoMethodError
при неопределённой опции вместо возврата nil
(обычно вызывается через Pry.config.foo_option
) (#2126).help
, которая неправильно отображала псевдонимы регулярных выражений (#2120).pry-backtrace
, который не работал (#2122).--
(или -
) при запуске Pry из оболочки (#1902).Pry::Config::LazyValue
и Pry::Config::MemoizedValue
, которые позволяют хранить вызываемые процедуры в конфигурации (#2024).rc_file
, который сообщает Pry путь к файлу pryrc
(#2027).--code
к команде wtf
, который показывает код для каждого кадра обратной трассировки (#2037).Pry::Prompt
теперь является классом, и его можно создать для создания новых приглашений на лету, которые не зарегистрированы в Pry::Prompt#add
. Подробнее о его API читайте в документации (#1877).Pry.config.exception_whitelist
в пользу Pry.config.unrescued_exceptions
. Перевод текста:
Pry.config.prompt = Pry::Prompt[:simple][:value]
в пользу
Pry.config.prompt = Pry::Prompt[:simple]
, когда настройка приглашения Pry
осуществляется через pryrc
. Pry::Prompt[:simple]
будет возвращать
экземпляр Pry::Prompt
вместо Hash
(1877)# Устаревший, выдаёт предупреждение.
Pry.config.prompt = [proc {}, proc {}]
Будет удалено в следующем выпуске.
show-doc
. Рекомендуемый способ чтения документации —
это show-source -d
(1934)Pry::Command#_pry_
. Используйте Pry::Command#pry_instance
вместо этого (1989)Pry::Platform
(1863)Pry#{input/output}_array
(1884)Pry::Prompt::MAP
(1866)Pry::Helpers::BaseHelpers
, такие как
mac_osx?
, linux?
, windows?
, windows_ansi?
, jruby?
, jruby_19?
,
mri?
, mri_19?
, mri_2?
(1867)Pry::Command#text
(1865)Pry::Method#all_from_common
(1868)install-command
(1979)Pry::Helpers::BaseHelpers#command_dependencies_met?
(1979)gem-cd
, gem-install
, gem-list
, gem-open
,
gem-readme
, gem-search
, gem-stats
(1981)edit-method
и show-command
(2001)Pry::Command#disabled_commands
(2001)Pry::BlockCommand#opts
(используйте #context
вместо)
(2003)Pry.lazy
(используйте Pry::Config::LazyValue
вместо)
(2024)Pry.config.prompt_name
может
вернуть Pry::Config::Lazy
вместо ожидаемого экземпляра String
(1890)LoadError
, возникающий при использовании автодополнений и Bundler
(1896)Pry.input_ring
не добавляет повторяющиеся элементы
(1898)Binding#source_location
(1904)winsize
, когда пользовательский output
передаётся
в Pry (2045)XDG_CONFIG_HOME
& XDG_DATA_HOME
. Когда эти переменные
окружения установлены, Pry больше не использует традиционные файлы, такие как
~/.pryrc
& ~/.pry_history
. Вместо этого пути переменных окружения загружаются
первыми (2056)$SAFE will become a normal global variable in Ruby 3.0
на Ruby 2.7
(2107)whereami -c
не может показать начало класса, которое находится на той же строке, что и другое выражение
(2098)Object#owner
, что приводит к несколько сломанному методу интроспекции
(2113)Pry::Prompt#[]
(#1855).less
, когда он был доступен
(#1861).clear-screen
, которая очищает содержимое экрана, на котором работает Pry, независимо от платформы (Windows или UNIX-подобная)
(#1723).gem-stat
, которая выводит статистику по гемам, такую как зависимости гемов и загрузки
(#1707).wtf
(#1791).# pryrc
Pry.config.prompt_name = Pry.lazy { rand(100) }
# Session
[1] 80(main)>
[2] 87(main)>
[3] 30(main)>
simple-prompt
. Вместо неё следует использовать команду change-prompt simple
. Команда list-prompt
была удалена и встроена как change-prompt --list
(#1849).config
(#1809):
Pry::Helpers.tablify(things, line_length, config = Pry.config)
.Pry::Helpers.tablify_or_one_line(heading, things, config = Pry.config)
.Pry::Helpers.tablify_to_screen_width(things, options, config = Pry.config)
.Pry::Helpers::Table.new(items, args, config = Pry.config)
.Ожидается, что вы будете передавать локальный сеанс _pry_.config
, а не глобальный.
Pry::Config.assign
, для создания Config без рекурсии
(#1725).Pry.lazy
, которая является вспомогательным методом для значений, которые необходимо вычислить динамически. В настоящее время только config.prompt_name
поддерживает его
(#1833).Pry::Prompt
теперь реагирует на .[]
, .all
и .add
. Метод Pry::Prompt.add
должен использоваться для реализации пользовательских приглашений. См. документацию класса для получения информации о API
(#1846).Pry::Helpers::Text.bright_default
для Pry::Helpers::Text.bold
(#1795).Pry::Helpers.tablify_to_screen_width(things, options, config = Pry.config)
требуется options
или nil
вместо них.Pry::Helpers::Table.new(items, args, config = Pry.config)
требуются args
или nil
вместо них.Pry::HistoryArray
(#1818):
Pry::Ring
(#1817).Pry::Ring#length
(используйте Pry::Ring#count
вместо этого).#empty?
, #each
, #inspect
, #pop!
, #to_h
.#to_a
._pry_.input_ring[0]
всегда возвращает некоторый элемент, а не nil
).Pry.config.prompt_safe_objects
в Pry.config.prompt_safe_contexts
._pry_.input_array
и _pry_.output_array
, вместо них рекомендуется использовать _pry_.input_ring
и _pry_.output_ring
соответственно
(#1814).Примечание: в тексте запроса присутствуют фрагменты кода, но они не содержат ключей и значений. Поэтому перевод выполнен без учёта этих фрагментов. ### 0.11.0
String#pp
.См. запрос на вытягивание #1674.
Добавлен псевдоним «whereami[?!]+» для команды «whereami» (#1597).
Улучшена поддержка Ruby 2.4 (#1611):
ls
, используйте переключатель -d
, чтобы их увидеть.Повышена скорость завершения работы в больших приложениях (#1588).
Pry::ColorPrinter.pp: добавлен аргумент newline
, который передаётся PP (#1603).
Используется less
или системный пейджер на MS Windows, если он доступен (#1512).
Добавлена функция Pry.configure
в качестве альтернативы текущему способу изменения параметров конфигурации в файлах .pryrc
(#1502).
Добавлена Pry::Config::Behavior#eager_load!
для возможного решения проблем, подобных описанным в запросе на обслуживание (#1501).
Удалён Slop как зависимость времени выполнения путём включения версии v3.4 как Pry::Slop. Пользователи могут одновременно зависеть от Slop v4 и Pry без конфликтов версий (#1497).
Исправлено автоотступ кода, использующего однострочное спасение (#1450).
Убрана команда «Pry.refresh», вместо неё следует использовать «Pry.clear».
Определение метода с именем «ls» больше не нарушает работу команды «ls» (#1407).
Не возникает ошибок при невозможности расширения файла из-за прав доступа к каталогу (#1432).
Синтаксическая подсветка тегов <tt> в выходных данных документации.
Поддержка BasicObject подклассов, которые реализуют собственный метод #inspect (#1341).
Исправлена ошибка «include RSpec::Matchers» на верхнем уровне (#1277).
Добавлены команды «gem-readme» и «gem-search», которые печатают файл README, упакованный с rubygem, и ищут гем с HTTP API rubygems.org соответственно.
Исправлена ошибка в команде cat, из-за которой было невозможно использовать номера строк с файлами (#1349).
Исправлено необработанное исключение Errno::EOPNOTSUPP, возникающее, когда $stdout является сокетом (#1352).
Выдаётся предупреждение, когда вы переходите в каталог C-объекта и выполняете команду «show-source» без аргументов (#691).
Сделан более надёжным метод stagger_output за счёт повторного использования доступного экземпляра Pry (#1364).
Сообщение «gem-install» стало менее запутанным за счёт удаления обратных кавычек (#1350).
Исправлена ошибка, когда Pry пытался загрузить несовместимые версии плагинов (#1312).
Исправлена ошибка при выполнении команды hist --clear, приводившей к ArgumentError (#1340).
Устранено исключение «uninitialized constant Pry::ObjectPath::StringScanner» во время автозаполнения (#1330).
Обеспечена безопасность использования цветов со специальными символами (RL_PROMPT_START_IGNORE и RL_PROMPT_END_IGNORE) в Pry::Helpers::Text (#493).
Исправлена регрессия с pry -e, когда это портит терминал (#1387).
Исправлена регрессия с префиксами пробелов выражений (#1369).
Введён новый способ определения хуков для команд (с помощью Pry.hooks.add_hook("{before,after}_commandName")). Старый способ устарел, но всё ещё поддерживается (с Pry.commands.{before,after}_command) (#651).
Полностью удалён старый API с использованием Pry::Hooks.from_hash.
Убраны намёки на поддержку Foreman (см. это).
Исправлена поддержка команды tee (#1334).
Реализована поддержка CDPATH для ShellCommand. Перевод текста на русский язык:
Pry::CLI.parse_options больше не запускает Pry (#1393)
Гем теперь использует платформы без использования ЦП для Windows (#1410)
Добавьте Pry::Config::Memoization, чтобы упростить реализацию собственного класса Pry::Config::Default.(#1503)
Лениво загружайте значения по умолчанию конфигурации для Pry.config.history и Pry.config.gist.
Загружено (#872)
--exclude-pry
в hist
(#874).gem-install
на JRuby (#870).Далее идёт непереведённый текст.
Не происходит сбой, если Bond не установлен (#1106).
Исправлены ранние ошибки readline путём переноса требования readline (#1081, #1095).
Устранена проблема с тем, что цвета Coderay были чёрными, даже когда фон был чёрным (#1016).
Повышение зависимости от Coderay (#987). Исправлено сворачивание последовательных новых строк в heredocs (#962). Устранены проблемы с работой пейджера в JRuby > 1.7.5 (#992).
Команда reload-code
без аргументов перезагружает «текущий» файл (#920).
Добавление обходного пути для сбоя JRuby (#890). Связано с http://jira.codehaus.org/browse/JRUBY-7114.
pry --gem
(см. 19bfc13aa).show-source
работает с командами, созданными с помощью create_command
.whereami
теперь есть опции -m
(метод), -c
(класс) и -f
(файл).Конец перевода. Текст запроса:
show-source now falls back to superclass (and displays warning) if it can't find class code
--no-plugins
(#526)ls
.show-doc
.ruby18_source_location
на MRI 1.8, если доступно. См. https://github.com/conradirwin/ruby18_sourcelocation.:quiet => true
в Pry.start, отключает whereami
.ls
.ls
. Меньше внутренних методов загрязняют вывод.0.9.8.4 (2012/6/3)
hist --save
сохранял цвета!0.9.8.3 (2012/3/2)
0.9.8.2 (2012/2/9)
0.9.8.1 (2012/1/30)
0.9.8 (2012/1/25)
ОСНОВНЫЕ НОВЫЕ ФУНКЦИИ
ПОЛНЫЙ CHANGELOG:
CommandError больше не приводит к отбрасыванию текущего ввода.
Лучшее выделение синтаксиса для кода rbx.
добавлен cat --in для отображения истории ввода pry.
префикс временных имён файлов с «pry».
show-doc теперь поддерживает опции -l и -b (номера строк).
play теперь поддерживает опции -i и -d.
перемещён набор UserCommandAPI в плагин pry-developer_tools.
добавлено событие :when_started для хуков, вызываемое в Pry.start.
добавлена страница руководства.
добавлен метод rename в Pry::CommandSet (команды можно переименовать).
добавлены CommandSet#{before_command,after_command} для расширения встроенных команд.
добавлена проверка на коллизии пространств имён с командами pry, установите Pry.config.collision_warning.
обход коллизий пространств имён путём обеспечения выполнения строк, начинающихся с пробела, как ruby.
обход коллизий пространств имён, заставляя строки, начинающиеся с пробела, выполняться как ruby.
добавлены обработчики для Ctrl+C (SIGINT) на jruby, теперь они перехватываются, как и в других версиях ruby.
удалена зависимость от ruby_parser.
предотвращено смешивание цветов через подсказку pry.
исправлены крайние случаи в Pry::Method, для методов с сумасшедшими именами и методов, которые были «undef»d.
переработан код обработки истории для ясности и правильности.
добавлен Pry::WrappedModule в качестве аналога Pry::Method.
сделал так, чтобы завершающий , заставлял pry ждать дальнейшего ввода.
удалён метод gist, добавлена команда gist.
добавлена команда pry-backtrace для отображения истории текущего сеанса.
исправлен whereami внутри методов «super».
заменены встроенные защитные версии на Pry::Helpers::BaseHelpers.{rbx?,jruby?,windows?} и т. д.
удалено CommandProcessor, его функциональность является частью нового класса Command.
изменено cd .. на верхнем уровне, чтобы он не выходил из pry.
изменено edit-command, чтобы больше не требовался аргумент набора команд.
пустые строки теперь исправлены, чтобы они не заменяли _ на nil.
SyntaxErrors на уровне REPL теперь исправлены, поэтому они не заменяют ex. Поддержка CoolLine
Pry.config.input в .pryrc теперь учитывается.
ОСНОВНЫЕ НОВЫЕ ФУНКЦИИ:
ПОЛНЫЙ CHANGELOG:
восстановлено предыдущее поведение переключателей командной строки (разрешая -rfilename);
удалён параметр -p (--play) из команды edit;
команда edit без аргументов теперь редактирует текущее или последнее выражение;
команда edit автоматически перезагружает файлы .rb (необходимо указать -n, чтобы отключить);
добавлен параметр -p (--patch) к команде edit-method, который позволяет исправлять методы без изменения исходного файла;
edit-method теперь может редактировать методы, определённые в REPL;
cat —ex теперь работает с исключениями в коде, определённом в REPL;
play -m теперь использует eval_string.replace();
play -m --open использует show-input для отображения воспроизводимого кода;
добавлен «unindent» для упрощения добавления справки к командам;
локальный ./.pryrc теперь загружается после ~/.pryrc, если он существует;
cat --ex N и edit --ex N теперь могут перемещаться по обратной трассировке, где cat --ex (без аргументов) автоматически перемещается по последовательным уровням обратной трассировки с сохранением состояния на самом объекте исключения;
новый параметр Pry.config.exception_window_size определяет размер окна для cat --ex;
input_stack теперь реализован — нажатие объектов на input_stack экземпляра pry приводит к тому, что экземпляр считывает эти объекты по очереди при обнаружении EOF на предыдущем объекте. По завершении input_stack объект ввода для экземпляра pry устанавливается обратно на Pry.config.input, если это не удаётся, pry выходит из REPL (throw(:breakout)) с сообщением об ошибке;
Pry.config.system() определяет, как pry запускает системные команды;
теперь внедряется метод target_self в область действия команды;
play теперь выполняет «show-input» всегда, если eval_string содержит допустимое выражение (т. е. оно вот-вот будет оценено);
play и hist --replay теперь помещают текущий объект ввода в input_stack перед перенаправлением ввода в StringIO (теперь гораздо лучше работает с pry-remote). Изменения в Pry 0.9.3
tempfile должен заканчиваться на .rb (для edit -t).
вывод ls не должен быть в формате массива.
исправлено сохранение истории (не должно сохраняться всё из Readline::HISTORY, а только то, что изменилось).
предотвращено попадание пустых строк в Readline::HISTORY (спасибо cirwin!).
обеспечено, чтобы cat --ex и edit --ex работали лучше.
Исправлена ошибка №200 (https://github.com/pry/pry/issues/200) — ошибка интерполяции строки (спасибо ryanf).
show-doc и stat теперь отображают видимость метода (обновление WIKI).
избавились от предупреждений, вызванных более строгими правилами Ruby 1.9.3.
удалена интерполяция имён команд и исправлена ошибка сообщения об интерполяции (обновление WIKI) (спасибо ryanf!).
«вложенные сеансы» теперь используют стеки привязок (поэтому каждый экземпляр управляет своей собственной коллекцией привязок, не создавая других экземпляров).
«cd ..» просто удаляет привязку из binding_stack со специальным поведением, когда в стеке только одна привязка — он прерывает цикл repl.
добавлена команда switch-to (как jump-to, но не разматывает стек).
show-method и show-doc теперь принимают несколько имён методов.
добавлен control_d hook (Pry.config.control_d_handler).
поведение ^d теперь заключается в том, чтобы прервать текущий expr, если в многострочном expr, или прервать текущий контекст, если вложенный, или прервать цикл pry repl, если на верхнем уровне.
больше нельзя интерполировать само имя команды, например #{x}-#{y}, где x = «show» и y = «doc».
^C больше не захватывается.
избавились от Pry.active_instance, Pry.last_exception и друзей.
также специальные локальные переменные теперь разделяются между привязками в экземпляре pry (т. е. ex (и друзья) повторно вводятся в новую привязку, введённую с помощью 'cd').
переименованы inp и out в in и out (чтобы избежать конфликтов с фактическими локальными переменными в области отладки).
добавлен третий параметр к подсказкам, сам экземпляр pry (pry) см. https://github.com/pry/pry/issues/233, почему это важно.
поведение cd, когда нет аргументов, такое же, как у cd /.
команды с keep_retval теперь могут возвращать nil (чтобы подавить вывод, теперь возвращают «void»).
введён Pry::CommandProcessor::Result.
Pry.view_clip() модифицирован для большей надёжности и правильного отображения Class#name.
команда edit, когда вызывается без аргументов, теперь работает как edit -t.
когда edit вызывается (без аргументов или с -t) внутри многострочного входного буфера выражения, он сбрасывает этот буфер во временный файл и переводит вас в него.
избавились от Pry#null_input?, поскольку всё, что было нужно, это eval_string.empty?.
теперь команда cd поддерживает сложный синтаксис: cd ../@y/y/../z.
JRuby больше не гражданин второго сорта, почти полная поддержка JRuby, прохождение 100% тестов.
добавлены Pry::NAV_PROMPT (отличный новый навигационный запрос, согласно robgleeson) и Pry::SIMPLE_PRINT для простого (IRB-стиль) вывода печати (просто используя inspect).
pry теперь передаётся как третий параметр хуку :before_session.
цвета ls теперь настраиваются через Pry.config.ls.local_var_color = :bright_red и т. д.
разделитель ls настраивается через, например, Pry.config.ls.separator = " ".
Pry.view_clip() теперь вызывает inspect только для нескольких непосредственных элементов, в противном случае использует синтаксис #<>, который был дополнительно усечён, чтобы исключить адрес памяти, опять же связанный с №245. Не вмешиваться в:
новую опцию Pry.config.disable_auto_reload для отключения автоматической перезагрузки методом редактирования и связанными (спасибо ryanf);
добавление улучшенных сообщений об ошибках для команды cd;
исправление экзотической регрессии объекта — теперь BasicObject.new и т. д. возвращают «=> неизвестно»;
добавленную команду reload-method (перезагружает связанный файл метода);
преобразование: import => import-set, version => pry-version, install => install-command;
поддержку Pry.config.command_prefix (спасибо ryanf!);
исправленный отступ для простого приглашения;
команду hist теперь исключает последнюю строку ввода (саму команду вызова);
теперь у hist есть псевдоним history;
отсутствующие плагины больше не вызывают исключения, просто печатают предупреждение в $stderr;
исправленную поддержку редактора jedit.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )