Skip to content
This repository has been archived by the owner on Jul 21, 2018. It is now read-only.

Feature request: possibility to paste into web WYSIWYG editors #32

Closed
ferenczy opened this issue Nov 7, 2017 · 8 comments
Closed

Feature request: possibility to paste into web WYSIWYG editors #32

ferenczy opened this issue Nov 7, 2017 · 8 comments

Comments

@ferenczy
Copy link

ferenczy commented Nov 7, 2017

Sometimes, I need to paste a formatted source code in a browser (usually some WYSIWYG editor, for example on visualstudio.com). But when I copy the code as an HTML using Copy preview to clipboard in Highlight and paste it in the browser, it pastes the HTML source code instead of the formatted text. That's not so surprising. But it wold be good to have such possibility.

I would say that it should be enough to just add one more format when copying into the clipboard - HTML Format.

Currently, Highlight copies the following clipboard formats on Windows:

  • DataObject
  • Unicode Text
  • Text
  • Ole Private Data
  • Locale
  • OEM Text

When I copy the formatted source code from some online code highlighter, I can paste it into a web WYSIWYG editor without any issues. The clipboard contains the following formats:

  • HTML Format
  • Unicode Text
  • Locale
  • Text
  • OEM Text

The Win API format ID for HTML Format is 49521.

Thank you.

@andre-simon
Copy link
Owner

The RTF output format adds a Rich Text MIME type to the clipboard format. Possibly the Visual Studio Online editor supports RTF. But I will also test the HTML MIME type. Which online highlighter was used for pasting working code?

@ferenczy
Copy link
Author

I have tested it with the RTF output format but then it doesn't paste anything into the WYSIWYG editor.

  1. Pasted a piece of code into Highlight
  2. Selected RTF output format
  3. Clicked Copy preview to clipboard button
  4. Tried to paste into the WYSIWYG editor - nothing pasted (with the HTML output format it pastes an unformatted HTML code)

Regarding the online highlighter - probably any one, I have tested for example hilite.me.

@andre-simon
Copy link
Owner

The next release will contain an option to add HTML MIME type. This works when pasting code into a word processor like LibreOffice.

@andre-simon
Copy link
Owner

Done in v3.41. The new checkbox is located in HTML options -> Misc. Please reopen if it does not work for you.

@ferenczy
Copy link
Author

ferenczy commented Apr 9, 2018

Thank you Andre. It's working properly with MSIE now, I can paste a highlighted code with proper colors and background but it's not working with Vivaldi browser (it's based on Chrome), unfortunately. I'm not sure, what might be wrong here, it's not pasting anything.

Tested with the version 3.42.

@andre-simon
Copy link
Owner

andre-simon commented Apr 10, 2018

I have tested this with HTML and several browsers. As there is no universal RichEdit web control each web application and browser may support different kinds of markup. Some will support HTML with inline CSS, without header and footer (ie html, head, title, body tags). Another option to play with is to toggle the enclosing pre tag. This applies to the GMail mail editor or the MS Team Services Wiki.

I think the MIME type is not relevant for browsers, this is being accepted by "old school" editors for RTF.

@tajmone
Copy link
Contributor

tajmone commented Apr 11, 2018

Maybe Highlight's output HTML block could be copied to the clipboard as plain-text, which should pass any MIME-filtering, and then let the destination app backend to its filtering job (ie: remove unallowed tags, scripts, etc.)?

Either the destination app filters the submitted HTML contents or it would leave them as they are.

@andre-simon
Copy link
Owner

HTML as plain text is the default, the MIME option was added as "experiment". Only RTF is copied with a fix MIME type as there is no need for plain RTF.

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue May 3, 2018
-updated astyle code to release 3.1 (Rev. 655)
-added webkit reformatting style
-improved several language definitions
-fixed Matlab string recognition (andre-simon/highlight#61)
-fixed Autohotkey escape sequence recognition (thanks to Klaus Daube)
-added excel.lang (andre-simon/highlight#60)
-improved Qt pro file (andre-simon/highlight#59)
-CLI: added --reformat-option (andre-simon/highlight#62)
-CLI: added --line-range (andre-simon/highlight#64)
-GUI: added Bulgarian translation  (thanks to Georgi Sotirov)

-fixed HL_OUTPUT in Lua state for HL_FORMAT_XHTML and HL_FORMAT_TRUECOLOR values
-fixed lib-shared make target
-updated astyle code to release 3.1.0 beta
-added Polygen and EBNF2 syntax definitions (thanks to Tristano Ajmone)
-added pywal terminal colouring template in extras/pywal
-added reformatting style ratliff (replaces banner)
-added extras/langDefs-resources/cleanslate.lang (thanks to Tristano Ajmone)
-improved Perl6 compatibility
-improved PHP string interpolation
-improved Haskell definition (andre-simon/highlight#52)
-CLI: added --canvas option to define background color padding in ANSI output
  (andre-simon/highlight#40)
-GUI: added French translation (thanks to Antoine Belvire)
-GUI: added Scripts tab (suggested by Tristano Ajmone)
-GUI: minor bugfixes

-renamed examples directory to extras
-line anchors (-a) are attached as id attribute to the first span or li tag in
  HTML output (andre-simon/highlight#36)
-renamed ID prefix in outhtml_codefold plug-in to be compatible with -a IDs
-added fstab.lang and added anacrontab in filetypes.conf
-removed references to OutputType::HTML32
-added extras/css-themes and extras/langDefs-resources
  (thanks to Tristano Ajmone)
-CLI: removed deprecated indicator of --data-dir option
-CLI: added --no-version-info option
-GUI: fixed initial theme selection
-GUI: added "Omit version info comment" option
-GUI: added "Copy with MIME type" option for HTML output
  (andre-simon/highlight#32)

-fixed Ruby string parsing (thanks to Jens Schleusener)
-fixed segfault on sparc64 (patch by James Clarke)
-fixed PureBasic definition (andre-simon/highlight#25)
-added CMake definition (andre-simon/highlight#20)
-added email definition (andre-simon/highlight#21)
-linked scm suffix to lisp definition
  (andre-simon/highlight#22)
-W32 CLI: support HIGHLIGHT_DATADIR and --data-dir options
  (andre-simon/highlight#24)
-revised documentation

-added syntax for Docker and Elixir
-improved HTML, Julia, Kotlin and Smalltalk syntax definitions
-GUI: added "Paste, Convert and Copy" button
  (https://sourceforge.net/p/syntaxhighlight/support-requests/4/)

-fixed Bash variable highlighting issue
-updated astyle code to release 3.0.1 (https://sourceforge.net/p/astyle/bugs/438)
-added bash_ref_man7_org.lua plugin

-fixed Perl string highlighting issue
-fixed highlighting if a line continues after the nested code delimiter
-updated astyle code to release 3.0
-added examples/pandoc (thanks to Tristano Ajmone)
-added syntax mapping for markdown
  (andre-simon/highlight#11)
-added syntax mapping for clj
  (andre-simon/highlight#15)
-improved Java definition (andre-simon/highlight#13)
-added theme to JSON converter in  examples/json
  (andre-simon/highlight#8)
-CLI: added support for environment variable HIGHLIGHT_OPTIONS
  (andre-simon/highlight#17)

-fixed code folding plugin to support more Ruby conditional modifiers
  (thanks to Jens Schleusener)
-fixed Perl quoted string highlighting (thanks to Jens Schleusener)
-added new GeneratorOverride syntax definition parameter
-added Filenames parameter in filetypes.conf to assign input filenames
  to syntax types (suggested by Andy)
-added FASM definition and edit-fasm theme (thanks to Tristano Ajmone)
-added outhtml_ie7_webctrl plug-in (suggested by Tristano Ajmone)
-GUI: file extensions can be configured for multiple languages,
  triggers syntax selection prompt
-GUI: added Italian translation (thanks to Tristano Ajmone)

-fixed code folding plugin to support Ruby conditional modifiers
-fixed JSON definition (thanks to Timothee Cour)
-fixed output of unknown syntax warning with applied force switch
  (thanks to Andy)
-added state trace parameter to Decorate plug-in function
-added GDScript definition and edit-godot theme (thanks to Tristano Ajmone)
-updated SWIG code samples
-updated Artistic Style lib (SVN Rev. 553)
-revised docs
-CLI: fixed creation of hidden files if output filename is prepended by its
  input path
-CLI: added switch --stdout (https://sourceforge.net/p/syntaxhighlight/bugs/14)

-fixed segfault with --skip applied on a single file input list
  (thanks to Jens Schleusener)
-added support for Python 3.6 syntax
-added Github and Sourceforge themes

-fixed highlighting of nested section delimiters
-fixed PHP definition (thanks to Christoph Burschka)
-fixed font family declaration in SVG
-fixed user defined encoding in ODT
-fixed unnecessary output of style file with --inline-css
  (thanks to Jens Schleusener)
-added vimscript language definition (thanks to Max Christian Pohle)
-added Coffeescript language definition (thanks to Jess Austin)
-added PureBasic definition and theme (thanks to Tristano Ajmone)
-added JSX language definition (suggested by Max Stoiber)
-added PO translation definition
-added plug-in outhtml_add_figure.lua
-updated js definition
-updated Artistic Style lib (SVN Rev. 521)
-improved various color themes and syntax definitions

-added support for true color escape codes (--out-format truecolor)
-fixed xterm256 output for paging with less (thanks to Fylwind)
-fixed operator regex in rnc.lang, crk.lang and yaml.lang (thanks to Joe Klauza)
-added Pony and Whiley definitions
-updated Ceylon, Julia and TypeScript definitions
-added Go, AutoHotKey, TypeScript and R to the foldable list in the
  outhtml_codefold.lua plug-in
-removed plugins/bash_ref_linuxmanpages_com.lua
-GUI: fixed README, ChangeLog and License file paths on Linux

-revised documentation
-GUI: fixed minor layout issues

-the data directory can be defined with the HIGHLIGHT_DATADIR environment variable
-fixed RTF output of UTF-8 input; needs input encoding set to utf-8
  (thanks to Kamigishi Rei)
-fixed XML comment recognition (thanks to Mani)
-data search directories were appended to the result of --list-scripts
-revised older syntax definitions
-updated base URLs of bash_ref_linuxmanpages and cpp_ref_qtproject plug-ins
-GUI: added system copy and paste shortcuts for clipboard functions
  (suggested by Kamigishi Rei)

-added Ansible Yaml definition (thanks to Raphael Droz)
-added Chapel definition (thanks to Lydia Duncan)
-fixed gcc 6 warnings about deprecated auto_ptr usage
-src/makefile: added -std=c++11 because of auto_ptr to unique_ptr transition
  (thanks to Jens Schleusener)
-GUI: fixed style file output if "write to source directory" option is
  checked (thanks to Jim Pattee)

-added support of Pascal, Lua, Ruby and C# regions in outhtml_codefold.lua
-improved outhtml_codefold.lua to handle embedded languages
-added string delimiters in the Ruby definition
-added new AssertEqualLength flag in string section of language definitions
-improved heredoc parsing
-fixed Lua multiline string recognition
-improved SVG whitespace output (patch by Paul de Vrieze)
-added Nim and mIRC Scripting definitions

-improved outhtml_codefold.lua to ignore brackets on the same line
-added RTF output to mark_lines.lua
-fixed Powershell and NSIS definitions
-added JSON and Github Markdown definitions
-CLI: added --keep-injections option to force plugin injection output with -f
-GUI: added keep injections checkbox
-GUI: fixed crash after removing selected plugins

-added HL_REJECT state to be used in a OnStateChange function
-added DecorateLineBegin and DecorateLineEnd hooks
-added mark_lines.lua, outhtml_codefold.lua, comment_links.lua plug-ins
-fixed font face in ODT output
-fixed Operators parameter in frink.lang and oorexx.lang
-fixed regular expression parsing within strings for JS, Perl and Ruby
-CLI: added --page-color option to include a page color in RTF output
-GUI: added RTF page color checkbox

-added new SVG definition to support embedded scripting
-improved js.lang, css.lang, scss.lang, less.lang, tsql.lang
-modified HTML ordered list output to work better with new plug-ins
-renamed plug-in variable HL_INPUT_FILE to HL_PLUGIN_PARAM
-CLI: renamed --plug-in-read option to --plug-in-param
-GUI: updated plug-in parameter label and tool-tips
-GUI: fixed minor issues

-fixed TeX output for cweb documents (patch by Ingo Krabbe)
-fixed string interpolation in bat.lang
-added reduce_filesize.lua, outhtml_add_shadow.lua,
  outhtml_add_background_svg.lua, outhtml_add_background_stripes.lua,
  outhtml_add_line.lua plug-ins
-added TCL extension in examples/tcl
-added kotlin.lang, nginx.lang and julia.lang
-updated php.lang to include version 7 keywords
-updated ceylon.lang to include version 1.2 keywords
-updated scripts in examples directory
-CLI: style-infile option marked as deprecated
-GUI: shortened paths in file input lists

-added rs.lang
-added conf.lang (thanks to Victor Ananjevsky)
-added some extensions in filetypes.conf (patch by Victor Ananjevsky)
-fixed Matlab definition and style (thanks to Justin Pearson)
-CLI: fixed --list-scripts with unknown argument (thanks to Jens Schleusener)

-updated astyle code to release 2.05.1
-fixed shebang recognition (thanks to Victor Ananjevsky)
-GUI: added option to define line numbering start

-added support for LESS, SASS and Stylus CSS processors (suggested by Marcel Bischoff)
-added support for Lua 5.3, removed LUA52 makefile option
-fixed heredoc matching in perl.lang (thanks to cornucopia)
-fixed Haskell lang (thanks to Daan Michiels)
-fixed RNC lang (thanks to Daan Michiels)
-fixed regex pattern in js.lang

-updated astyle code to release 2.05
-added astyle reformatting style vtk

-added bold, italic and underline attributes to xterm256 ANSI output
  (patch by Andrew Fuller)
-fixed assembler mapping in filetypes.conf (thanks to Jens Schleusener)
-added Swift definition
-improved ASP, F#, OCaml and Lisp syntax definitions
-added interpolation patterns to several definitions
-updated base URLs in cpp_ref_gtk_gnome and cpp_ref_qtproject plug-ins
-CLI: added Pango markup output option (patch by Dominik Schmidt)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants