garveen / docphp

DocPHPManualer: Show PHP documentation in Sublime Text 3
MIT License
52 stars 10 forks source link

TypeError: can only concatenate tuple (not "str") to tuple #14

Open ovidiugabriel opened 5 years ago

ovidiugabriel commented 5 years ago

After a fresh installation. I typed strpos($haystack, $needle); in a php script then right click, DocPHP: Show Definition. In the console I can see the following backtrace.

Traceback (most recent call last):
  File "/opt/sublime_text/sublime_plugin.py", line 1082, in run_
    return self.run(edit, **args)
  File "/home/ovidiu/.config/sublime-text-3/Installed Packages/DocPHPManualer.sublime-package/docphp.py", line 331, in run
  File "/home/ovidiu/.config/sublime-text-3/Installed Packages/DocPHPManualer.sublime-package/docphp.py", line 344, in show_popup
  File "/home/ovidiu/.config/sublime-text-3/Installed Packages/DocPHPManualer.sublime-package/docphp.py", line 412, in formatPopup
  File "./python3.3/html/parser.py", line 145, in feed
  File "./python3.3/html/parser.py", line 189, in goahead
  File "./python3.3/html/parser.py", line 372, in parse_starttag
  File "/home/ovidiu/.config/sublime-text-3/Installed Packages/DocPHPManualer.sublime-package/docphp.py", line 528, in handle_startendtag
  File "/home/ovidiu/.config/sublime-text-3/Installed Packages/DocPHPManualer.sublime-package/docphp.py", line 557, in get_tag_text
  File "/home/ovidiu/.config/sublime-text-3/Installed Packages/DocPHPManualer.sublime-package/docphp.py", line 557, in <lambda>
TypeError: can only concatenate tuple (not "str") to tuple
paveljanda commented 5 years ago

Same happens to me.

Gandhard commented 4 years ago

Same here

gregorip02 commented 4 years ago

+1

manticorp commented 3 years ago

Same!

freemansdev commented 3 years ago

Same

StephaneAxmaPresse commented 1 year ago

same

giratek commented 1 year ago

The solution to this problem was found for ST 4. It is necessary in DocPHPManualer.sublime-package archive to change the file docphp.py starting from line 557 correct the function as follows: def get_tag_text(self, tag, attrs, is_startend=False): t='' if type(attrs) == dict: for key in attrs: t=t+ key + '="' + attrs[key] + '"' return '<'+ tag + ' ' + t + (' />' if is_startend else '>')