diff options
| -rw-r--r-- | pyGHDL/lsp/document.py | 3 | ||||
| -rw-r--r-- | pyGHDL/lsp/workspace.py | 6 | 
2 files changed, 5 insertions, 4 deletions
| diff --git a/pyGHDL/lsp/document.py b/pyGHDL/lsp/document.py index dd7f694a1..2656606c6 100644 --- a/pyGHDL/lsp/document.py +++ b/pyGHDL/lsp/document.py @@ -35,9 +35,8 @@ class Document(object):          self._tree = nodes.Null_Iir      @staticmethod -    def load(source, dirname, filename): +    def load(src_bytes, dirname, filename):          # Write text to file buffer. -        src_bytes = source.encode(Document.encoding, "replace")          src_len = len(src_bytes)          buf_len = src_len + Document.initial_gap_size          fileid = name_table.Get_Identifier(filename) diff --git a/pyGHDL/lsp/workspace.py b/pyGHDL/lsp/workspace.py index 54fa17ce6..3b75a6493 100644 --- a/pyGHDL/lsp/workspace.py +++ b/pyGHDL/lsp/workspace.py @@ -96,7 +96,9 @@ class Workspace(object):          # We assume the path is correct.          path = lsp.path_from_uri(doc_uri)          if source is None: -            source = open(path).read() +            source = open(path, "rb").read() +        else: +            source = source.encode(document.Document.encoding, "replace")          sfe = document.Document.load(source, os.path.dirname(path), os.path.basename(path))          return self._create_document(doc_uri, sfe) @@ -152,7 +154,7 @@ class Workspace(object):              absname = os.path.join(self._root_path, name)          # Create a document for this file.          try: -            fd = open(absname) +            fd = open(absname, "rb")              sfe = document.Document.load(fd.read(), self._root_path, name)              fd.close()          except OSError as err: | 
