IBM / zopeneditor-about

IBM Z Open Editor: File issues here!
https://ibm.github.io/zopeneditor-about
Apache License 2.0
47 stars 25 forks source link

Text replacement should limit text shifting #54

Open FALLAI-Denis opened 4 years ago

FALLAI-Denis commented 4 years ago

Development environment used

Text replacement should limit column offsets.pdf

Problem Description

Detailed steps for reproducing the problem:

See attachement

Observed behavior:

See attachement

Designed behavior:

When searching and replacing text in program source code (Cobol, Assembler), or on a JCL that may contain sysins, if the replacement text is not the same length as the searched text, then this introduces shifts in the source code, which can then trigger compilation errors, or incorrect interpretations of data.

The search and replacement functions on mainframe source code must apply the same rules as the TSO and ISPF editors: the text placed to the right of the searched text must not be moved as much as possible, or partially moved.

See: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.f54em00/ispem60.htm

phaumer commented 4 years ago

Thanks. As this would be an update to the existing VS Code behavior I will file it as an enhancement.

FALLAI-Denis commented 4 years ago

Thanks. I'm not sure if this feature will ever be implemented in VS Code ...I think it is specific to "formatted" languages, inheritance of "80 columns cards".

phaumer commented 4 years ago

I meant more that the VS Code APIs to access anything in the underlying Monaco editor framework is very restrictive. Implementing such capabilities is not straight-forward as the required APIs are not available. Here we were happier when we were working in Eclipse Theia in the past, which allowed us to control much more in the editor directly such as preventing to type beyond a border or adding something like a ruler at the top etc.

To tackle this we want to experiment with Code Formatters in the client as well as have the LSP do more formatting.

FALLAI-Denis commented 4 years ago

Hi,

I open an issue on VS Code GitHub : https://github.com/microsoft/vscode/issues/99651

PS: the issue open on VS Code GitHub is waiting for 20 upvote to be move to backlog, otherwise it will be close. If you agree with it, please vote for. Thanks.

phaumer commented 4 years ago

Thanks for that. I think we will not get those votes as the request is too generic. We want try this by implementing a formatter or via LSP functions directly. If we need any very specific APIs for VS Code for that we will file a specific request for that if needed. However, waiting for such an API and then its implementation in Eclipse Theia/Che is something we probably do not want to wait for.

FALLAI-Denis commented 4 years ago

Hi I took a look at the documentation on formatters... They can be triggered when typing on the occurrence of certain characters. The idea that comes to me would be to call the formatter: