GRAYBYTE WORDPRESS FILE MANAGER5076

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/ruby19/lib64/ruby/1.9.1/rdoc/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/ruby19/lib64/ruby/1.9.1/rdoc//text.rb
# coding: utf-8

##
# For RDoc::Text#to_html

require 'strscan'

##
# Methods for manipulating comment text

module RDoc::Text

  ##
  # Maps an encoding to a Hash of characters properly transcoded for that
  # encoding.
  #
  # See also encode_fallback.

  TO_HTML_CHARACTERS = Hash.new do |h, encoding|
    h[encoding] = {
      :close_dquote => encode_fallback('”', encoding, '"'),
      :close_squote => encode_fallback('’', encoding, '\''),
      :copyright    => encode_fallback('©', encoding, '(c)'),
      :ellipsis     => encode_fallback('…', encoding, '...'),
      :em_dash      => encode_fallback('—', encoding, '---'),
      :en_dash      => encode_fallback('–', encoding, '--'),
      :open_dquote  => encode_fallback('“', encoding, '"'),
      :open_squote  => encode_fallback('‘', encoding, '\''),
      :trademark    => encode_fallback('®', encoding, '(r)'),
    }
  end if Object.const_defined? :Encoding

  ##
  # Transcodes +character+ to +encoding+ with a +fallback+ character.

  def self.encode_fallback character, encoding, fallback
    character.encode(encoding, :fallback => { character => fallback },
                     :undef => :replace, :replace => fallback)
  end

  ##
  # Expands tab characters in +text+ to eight spaces

  def expand_tabs text
    expanded = []

    text.each_line do |line|
      line.gsub!(/^(.{8}*?)([^\t\r\n]{0,7})\t/) do
        r = "#{$1}#{$2}#{' ' * (8 - $2.size)}"
        r.force_encoding text.encoding if Object.const_defined? :Encoding
        r
      end until line !~ /\t/

      expanded << line
    end

    expanded.join
  end

  ##
  # Flush +text+ left based on the shortest line

  def flush_left text
    indent = 9999

    text.each_line do |line|
      line_indent = line =~ /\S/ || 9999
      indent = line_indent if indent > line_indent
    end

    empty = ''
    empty.force_encoding text.encoding if Object.const_defined? :Encoding

    text.gsub(/^ {0,#{indent}}/, empty)
  end

  ##
  # Convert a string in markup format into HTML.
  #
  # Requires the including class to implement #formatter

  def markup text
    document = parse text

    document.accept formatter
  end

  ##
  # Strips hashes, expands tabs then flushes +text+ to the left

  def normalize_comment text
    return text if text.empty?

    text = strip_hashes text
    text = expand_tabs text
    text = flush_left text
    text = strip_newlines text
    text
  end

  ##
  # Normalizes +text+ then builds a RDoc::Markup::Document from it

  def parse text
    return text if RDoc::Markup::Document === text

    text = normalize_comment text

    return RDoc::Markup::Document.new if text =~ /\A\n*\z/

    RDoc::Markup::Parser.parse text
  rescue RDoc::Markup::Parser::Error => e
    $stderr.puts <<-EOF
While parsing markup, RDoc encountered a #{e.class}:

#{e}
\tfrom #{e.backtrace.join "\n\tfrom "}

---8<---
#{text}
---8<---

RDoc #{RDoc::VERSION}

Ruby #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL} #{RUBY_RELEASE_DATE}

Please file a bug report with the above information at:

https://github.com/rdoc/rdoc/issues

    EOF
    raise
  end

  ##
  # Strips leading # characters from +text+

  def strip_hashes text
    return text if text =~ /^(?>\s*)[^\#]/

    empty = ''
    empty.force_encoding text.encoding if Object.const_defined? :Encoding

    text.gsub(/^\s*(#+)/) { $1.tr '#', ' ' }.gsub(/^\s+$/, empty)
  end

  ##
  # Strips leading and trailing \n characters from +text+

  def strip_newlines text
    text.gsub(/\A\n*(.*?)\n*\z/m) do $1 end # block preserves String encoding
  end

  ##
  # Strips /* */ style comments

  def strip_stars text
    encoding = text.encoding if Object.const_defined? :Encoding

    text = text.gsub %r%Document-method:\s+[\w:.#=!?]+%, ''

    space = ' '
    space.force_encoding encoding if encoding

    text.sub!  %r%/\*+%       do space * $&.length end
    text.sub!  %r%\*+/%       do space * $&.length end
    text.gsub! %r%^[ \t]*\*%m do space * $&.length end

    empty = ''
    empty.force_encoding encoding if encoding
    text.gsub(/^\s+$/, empty)
  end

  ##
  # Converts ampersand, dashes, ellipsis, quotes, copyright and registered
  # trademark symbols in +text+ to properly encoded characters.

  def to_html text
    if Object.const_defined? :Encoding then
      html = ''.encode text.encoding

      encoded = RDoc::Text::TO_HTML_CHARACTERS[text.encoding]
    else
      html = ''
      encoded = {
        :close_dquote => '”',
        :close_squote => '’',
        :copyright    => '©',
        :ellipsis     => '…',
        :em_dash      => '—',
        :en_dash      => '–',
        :open_dquote  => '“',
        :open_squote  => '‘',
        :trademark    => '®',
      }
    end

    s = StringScanner.new text
    insquotes = false
    indquotes = false
    after_word = nil

    until s.eos? do
      case
      when s.scan(/<tt>.*?<\/tt>/) then # skip contents of tt
        html << s.matched.gsub('\\\\', '\\')
      when s.scan(/<tt>.*?/) then
        warn 'mismatched <tt> tag' # TODO signal file/line
        html << s.matched
      when s.scan(/<[^>]+\/?s*>/) then # skip HTML tags
        html << s.matched
      when s.scan(/\\(\S)/) then # unhandled suppressed crossref
        html << s[1]
        after_word = nil
      when s.scan(/\.\.\.(\.?)/) then
        html << s[1] << encoded[:ellipsis]
        after_word = nil
      when s.scan(/\(c\)/) then
        html << encoded[:copyright]
        after_word = nil
      when s.scan(/\(r\)/) then
        html << encoded[:trademark]
        after_word = nil
      when s.scan(/---/) then
        html << encoded[:em_dash]
        after_word = nil
      when s.scan(/--/) then
        html << encoded[:en_dash]
        after_word = nil
      when s.scan(/&quot;|"/) then
        html << encoded[indquotes ? :close_dquote : :open_dquote]
        indquotes = !indquotes
        after_word = nil
      when s.scan(/``/) then # backtick double quote
        html << encoded[:open_dquote]
        after_word = nil
      when s.scan(/''/) then # tick double quote
        html << encoded[:close_dquote]
        after_word = nil
      when s.scan(/'/) then # single quote
        if insquotes
          html << encoded[:close_squote]
          insquotes = false
        elsif after_word
          # Mary's dog, my parents' house: do not start paired quotes
          html << encoded[:close_squote]
        else
          html << encoded[:open_squote]
          insquotes = true
        end

        after_word = nil
      else # advance to the next potentially significant character
        match = s.scan(/.+?(?=[<\\.("'`&-])/) #"

        if match then
          html << match
          after_word = match =~ /\w$/
        else
          html << s.rest
          break
        end
      end
    end

    html
  end

  ##
  # Wraps +txt+ to +line_len+

  def wrap(txt, line_len = 76)
    res = []
    sp = 0
    ep = txt.length

    while sp < ep
      # scan back for a space
      p = sp + line_len - 1
      if p >= ep
        p = ep
      else
        while p > sp and txt[p] != ?\s
          p -= 1
        end
        if p <= sp
          p = sp + line_len
          while p < ep and txt[p] != ?\s
            p += 1
          end
        end
      end
      res << txt[sp...p] << "\n"
      sp = p
      sp += 1 while sp < ep and txt[sp] == ?\s
    end

    res.join.strip
  end

end


[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 03 2024 22:50:37
root / root
0755
generator
--
March 03 2024 22:48:11
root / linksafe
0755
markup
--
March 03 2024 22:48:11
root / linksafe
0755
parser
--
March 03 2024 22:48:11
root / linksafe
0755
ri
--
March 03 2024 22:48:11
root / linksafe
0755
stats
--
March 03 2024 22:48:11
root / linksafe
0755
alias.rb
2.12 KB
December 20 2010 03:22:49
root / linksafe
0644
anon_class.rb
0.167 KB
February 02 2011 00:32:30
root / linksafe
0644
any_method.rb
4.544 KB
June 16 2011 04:59:24
root / linksafe
0644
attr.rb
2.877 KB
June 16 2011 04:59:24
root / linksafe
0644
class_module.rb
14.487 KB
August 05 2011 21:21:55
root / linksafe
0644
code_object.rb
6.563 KB
August 05 2011 21:21:55
root / linksafe
0644
code_objects.rb
0.522 KB
April 01 2010 07:45:16
root / linksafe
0644
constant.rb
1.505 KB
December 20 2010 03:22:49
root / linksafe
0644
context.rb
28.142 KB
August 05 2011 21:21:55
root / linksafe
0644
cross_reference.rb
5.819 KB
August 05 2011 21:21:55
root / linksafe
0644
encoding.rb
2.521 KB
February 14 2012 07:55:37
root / linksafe
0644
erbio.rb
0.775 KB
May 15 2011 11:55:52
root / linksafe
0644
generator.rb
1.298 KB
February 02 2011 00:32:30
root / linksafe
0644
ghost_method.rb
0.138 KB
April 01 2010 07:45:16
root / linksafe
0644
include.rb
2.109 KB
December 20 2010 03:22:49
root / linksafe
0644
known_classes.rb
2.58 KB
June 29 2011 21:17:31
root / linksafe
0644
markup.rb
20.962 KB
August 26 2011 23:58:26
root / linksafe
0644
meta_method.rb
0.123 KB
April 01 2010 07:45:16
root / linksafe
0644
method_attr.rb
7.573 KB
May 15 2011 11:55:52
root / linksafe
0644
normal_class.rb
1.582 KB
February 02 2011 00:32:30
root / linksafe
0644
normal_module.rb
1.242 KB
February 02 2011 00:32:30
root / linksafe
0644
options.rb
18.786 KB
May 14 2011 00:39:16
root / linksafe
0644
parser.rb
5.39 KB
August 26 2011 23:58:26
root / linksafe
0644
rdoc.rb
11.971 KB
June 16 2011 04:59:24
root / linksafe
0644
require.rb
0.94 KB
December 20 2010 03:22:49
root / linksafe
0644
ri.rb
0.225 KB
April 01 2010 07:45:16
root / linksafe
0644
ruby_lex.rb
26.07 KB
August 24 2011 00:02:17
root / linksafe
0644
ruby_token.rb
10.144 KB
December 20 2010 03:22:49
root / linksafe
0644
rubygems_hook.rb
4.497 KB
June 16 2011 04:59:24
root / linksafe
0644
single_class.rb
0.351 KB
February 02 2011 00:32:30
root / linksafe
0644
stats.rb
9.52 KB
May 14 2011 00:39:16
root / linksafe
0644
task.rb
7.504 KB
May 14 2011 00:39:16
root / linksafe
0644
text.rb
7.223 KB
August 05 2011 21:21:55
root / linksafe
0644
token_stream.rb
0.991 KB
December 20 2010 03:22:49
root / linksafe
0644
top_level.rb
10.102 KB
June 29 2011 21:17:31
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF