{"action":"created","issue":{"url":"https://api.github.com/repos/OpenCobolIDE/OpenCobolIDE/issues/137","labels_url":"https://api.github.com/repos/OpenCobolIDE/OpenCobolIDE/issues/137/labels{/name}","comments_url":"https://api.github.com/repos/OpenCobolIDE/OpenCobolIDE/issues/137/comments","events_url":"https://api.github.com/repos/OpenCobolIDE/OpenCobolIDE/issues/137/events","html_url":"https://github.com/OpenCobolIDE/OpenCobolIDE/issues/137","id":80552741,"number":137,"title":"[Enhancement] Add options for own preparsers","user":{"login":"GitMensch","id":6699539,"avatar_url":"https://avatars.githubusercontent.com/u/6699539?v=3","gravatar_id":"","url":"https://api.github.com/users/GitMensch","html_url":"https://github.com/GitMensch","followers_url":"https://api.github.com/users/GitMensch/followers","following_url":"https://api.github.com/users/GitMensch/following{/other_user}","gists_url":"https://api.github.com/users/GitMensch/gists{/gist_id}","starred_url":"https://api.github.com/users/GitMensch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GitMensch/subscriptions","organizations_url":"https://api.github.com/users/GitMensch/orgs","repos_url":"https://api.github.com/users/GitMensch/repos","events_url":"https://api.github.com/users/GitMensch/events{/privacy}","received_events_url":"https://api.github.com/users/GitMensch/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OpenCobolIDE/OpenCobolIDE/labels/Undecided","name":"Undecided","color":"CCCCCC"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/OpenCobolIDE/OpenCobolIDE/milestones/9","html_url":"https://github.com/OpenCobolIDE/OpenCobolIDE/milestones/4.x","labels_url":"https://api.github.com/repos/OpenCobolIDE/OpenCobolIDE/milestones/9/labels","id":790293,"number":9,"title":"4.x","description":null,"creator":{"login":"ColinDuquesnoy","id":1681217,"avatar_url":"https://avatars.githubusercontent.com/u/1681217?v=3","gravatar_id":"","url":"https://api.github.com/users/ColinDuquesnoy","html_url":"https://github.com/ColinDuquesnoy","followers_url":"https://api.github.com/users/ColinDuquesnoy/followers","following_url":"https://api.github.com/users/ColinDuquesnoy/following{/other_user}","gists_url":"https://api.github.com/users/ColinDuquesnoy/gists{/gist_id}","starred_url":"https://api.github.com/users/ColinDuquesnoy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ColinDuquesnoy/subscriptions","organizations_url":"https://api.github.com/users/ColinDuquesnoy/orgs","repos_url":"https://api.github.com/users/ColinDuquesnoy/repos","events_url":"https://api.github.com/users/ColinDuquesnoy/events{/privacy}","received_events_url":"https://api.github.com/users/ColinDuquesnoy/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":0,"state":"open","created_at":"2014-09-15T16:53:20Z","updated_at":"2015-05-26T10:00:55Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2015-05-25T14:24:35Z","updated_at":"2015-05-26T16:52:44Z","closed_at":null,"body":"OCIDE calls cobc for compilation and conditional dbpre/esqlOC for specific files.\r\nI'd like to see a more general approach being able to set up different preparsers (or even compilers) for specific file types.\r\n\r\nTheses are the parts to consider:\r\n\r\n* [optional, but nice] parser (to \"know\" about special sections/paragraphs that don't look like sections/paragraphs, and in the case I'd like to configure these have \";\" in column 7 which may lead to not parse the files correctly) - can this part be \"inserted\" at runtime without the need to recompile the application at all?\r\n* preferences - should be easily doable if the current SQL COBOL preference is changed to \"external compilers\" and has a list to choose the compilers, \"hiding\" the current text and file selection list until an entry is added/edited. the default would be only one entry for SQL COBOL (see below)\r\n\r\n\r\n    Name: SQL COBOL\r\n    Associated extensions: .sqb\r\n    Compiler path: [empty, has to be filled with esql binary)\r\n    Compiler flags: \r\n    [Checkbox] Only Preparser           Output file [only active if preparser is checked]:  [whatever you do currently]\r\n\r\nIf \"Only Preparser\" is checked the output file would be passed to cobc, if not the compiler either does the compilation on it's own or it calls cobc itself."},"comment":{"url":"https://api.github.com/repos/OpenCobolIDE/OpenCobolIDE/issues/comments/105600700","html_url":"https://github.com/OpenCobolIDE/OpenCobolIDE/issues/137#issuecomment-105600700","issue_url":"https://api.github.com/repos/OpenCobolIDE/OpenCobolIDE/issues/137","id":105600700,"user":{"login":"GitMensch","id":6699539,"avatar_url":"https://avatars.githubusercontent.com/u/6699539?v=3","gravatar_id":"","url":"https://api.github.com/users/GitMensch","html_url":"https://github.com/GitMensch","followers_url":"https://api.github.com/users/GitMensch/followers","following_url":"https://api.github.com/users/GitMensch/following{/other_user}","gists_url":"https://api.github.com/users/GitMensch/gists{/gist_id}","starred_url":"https://api.github.com/users/GitMensch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GitMensch/subscriptions","organizations_url":"https://api.github.com/users/GitMensch/orgs","repos_url":"https://api.github.com/users/GitMensch/repos","events_url":"https://api.github.com/users/GitMensch/events{/privacy}","received_events_url":"https://api.github.com/users/GitMensch/received_events","type":"User","site_admin":false},"created_at":"2015-05-26T16:52:44Z","updated_at":"2015-05-26T16:52:44Z","body":"Can we have a temporary workaround? Specify file type + batch/shell to call. This way the user has the option to run a n external compiler and cobc. Even if he has to setup everything in both OCIDE and the shell it's much better than the current option \"is not available\".\r\n\r\nA quite good workaround would be to have two input fields [sample in brackets] and a checkbox (all default to empty)\r\n\r\nfile extension: [.myext]  compiler batch: [/path/to/mycomp.sh]  call for checks [X]\r\nCompiler batch is called with some environment vars you define (something like OCIDE_FILE, OCIDE_INCLUDES, OCIDE_COBC_CALL, OCIDE_CHECKONLY]), only if clicked on \"compile\"/\"run\".\r\nThe backround process would only call it if \"call for checks\" is active (and set OCIDE_CHECKONLY=J\" in this case)\r\n\r\nIt *looks* easy to implement and even if it's no \"very clean and multi purpose solution\" it's at least a \"if you know what to do you can do anything solution\".\r\n\r\nWhat do you think about this?"}}